@charset "UTF-8";
/* Basic Styles
--------------------------------*/
html {
  box-sizing: border-box; }

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

@font-face {
  font-family: icons;
  src: url("../fonts/icons.eot");
  src: url("../fonts/icons.eot?#iefix") format("embedded-opentype"), url("../fonts/icons.woff") format("woff"), url("../fonts/icons.ttf") format("truetype"), url("../fonts/icons.svg#icons") format("svg");
  font-weight: normal;
  font-style: normal; }

.c-icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "";
  font-family: "icons";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: none;
  text-transform: none; }

.c-icon.-facebook:before {
  content: ""; }

.c-icon.-instagram:before {
  content: ""; }

.c-icon.-twitter:before {
  content: ""; }

.c-icon.-arrow-right:before {
  content: ""; }

.c-icon.-play:before {
  content: ""; }

.c-icon.-plus:before {
  content: ""; }

.c-icon.-chevron:before {
  content: ""; }

ul.default {
  list-style-type: disc;
  margin-bottom: 15px;
  padding-left: 15px; }

ol.default {
  list-style-type: decimal;
  margin-bottom: 15px;
  padding-left: 15px; }

dl.default {
  margin-bottom: 15px; }
  dl.default dt {
    font-weight: 700;
    margin-top: 15px; }

.b-offcanvas__back:before, .b-offcanvas__link--sub:after, .b-product-pdf__link:after, .b-product-navigation__label:after, .b-related__label:after, .m-links-double__label:after, .m-wayfinding__button:after {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "icons";
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: none;
  text-transform: none; }

a {
  color: #62B0BF;
  text-decoration: none; }
  .no-touchevents a:hover {
    color: #002234; }
  .no-touchevents a:active {
    color: #005481; }

a.primary, .b-related__link {
  color: #0f4b62;
  text-decoration: underline; }
  .no-touchevents a.primary:hover, .no-touchevents .b-related__link:hover {
    color: #082936; }
  .no-touchevents a.primary:active, .no-touchevents .b-related__link:active {
    color: #01070a; }

a.secondary {
  color: #3b3a3b;
  text-decoration: underline; }
  .no-touchevents a.secondary:hover {
    color: #212121; }
  .no-touchevents a.secondary:active {
    color: #080708; }

.c-btn, .b-product-pdf__link, .m-links-double__label, .m-wayfinding__button {
  text-align: center;
  text-rendering: optimizeLegibility;
  text-decoration: none;
  background-clip: padding-box;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  outline: none; }

.b-product-content__col--first {
  font-size: 18px; }
  @media screen and (min-width: 960px) {
    .b-product-content__col--first {
      font-size: 20px; } }
  @media screen and (min-width: 1024px) {
    .b-product-content__col--first {
      font-size: 22px; } }
  @media screen and (min-width: 1440px) {
    .b-product-content__col--first {
      font-size: 24px; } }

.b-nutritional-popup__label, .b-nutritional-popup__value, body, .b-product-content__col--second, .b-nutritional-popup__description, .b-product-information__catch-item, .b-product-specs__details-title, .b-product-specs__details-content, .b-story-legal__text, .b-404__content {
  font-size: 15px; }
  @media screen and (min-width: 960px) {
    .b-nutritional-popup__label, .b-nutritional-popup__value, body, .b-product-content__col--second, .b-nutritional-popup__description, .b-product-information__catch-item, .b-product-specs__details-title, .b-product-specs__details-content, .b-story-legal__text, .b-404__content {
      font-size: 15px; } }
  @media screen and (min-width: 1024px) {
    .b-nutritional-popup__label, .b-nutritional-popup__value, body, .b-product-content__col--second, .b-nutritional-popup__description, .b-product-information__catch-item, .b-product-specs__details-title, .b-product-specs__details-content, .b-story-legal__text, .b-404__content {
      font-size: 15px; } }
  @media screen and (min-width: 1440px) {
    .b-nutritional-popup__label, .b-nutritional-popup__value, body, .b-product-content__col--second, .b-nutritional-popup__description, .b-product-information__catch-item, .b-product-specs__details-title, .b-product-specs__details-content, .b-story-legal__text, .b-404__content {
      font-size: 17px; } }

.c-form__check, .b-product-information__nutritional-more, .b-product-information__grade-more, .b-product-pdf__link, .mfp-title {
  font-size: 14px; }
  @media screen and (min-width: 960px) {
    .c-form__check, .b-product-information__nutritional-more, .b-product-information__grade-more, .b-product-pdf__link, .mfp-title {
      font-size: 14px; } }
  @media screen and (min-width: 1024px) {
    .c-form__check, .b-product-information__nutritional-more, .b-product-information__grade-more, .b-product-pdf__link, .mfp-title {
      font-size: 14px; } }
  @media screen and (min-width: 1440px) {
    .c-form__check, .b-product-information__nutritional-more, .b-product-information__grade-more, .b-product-pdf__link, .mfp-title {
      font-size: 14px; } }

.b-product-information__seasonal-legend {
  font-size: 12px; }
  @media screen and (min-width: 960px) {
    .b-product-information__seasonal-legend {
      font-size: 12px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__seasonal-legend {
      font-size: 13px; } }
  @media screen and (min-width: 1440px) {
    .b-product-information__seasonal-legend {
      font-size: 13px; } }

.b-nutritional-popup__label, .b-nutritional-popup__value, body, .b-product-content__col--second {
  color: #3b3a3b;
  font-family: "Brown", sans; }

.b-nutritional-popup__label, .b-nutritional-popup__value {
  font-weight: 200; }

.b-nutritional-popup__description {
  color: #0f4b62;
  font-family: "Brown", sans; }

.b-nutritional-popup__description {
  font-weight: 200; }

.b-product-content__col--first {
  font-family: "Brown", sans;
  color: #0f4b62; }

.b-product-information__title, .b-product-specs__title, .b-product-navigation__title, .b-product-navigation-trade__title, .b-related__title, .b-nutritional-popup__title {
  color: #0f4b62;
  font-family: "Brown", sans; }

.l-spacing {
  padding: 0 1.08554%; }

.l-container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .l-container::after {
    clear: both;
    content: "";
    display: table; }

h1,
.h1, .c-title__main {
  font-size: 60px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    h1,
    .h1, .c-title__main {
      font-size: 60px; } }
  @media screen and (min-width: 1024px) {
    h1,
    .h1, .c-title__main {
      font-size: 60px; } }
  @media screen and (min-width: 1440px) {
    h1,
    .h1, .c-title__main {
      font-size: 60px; } }

h2,
.h2 {
  font-size: 48px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    h2,
    .h2 {
      font-size: 48px; } }
  @media screen and (min-width: 1024px) {
    h2,
    .h2 {
      font-size: 48px; } }
  @media screen and (min-width: 1440px) {
    h2,
    .h2 {
      font-size: 48px; } }

.b-product-information__title, .b-product-specs__title, .b-product-navigation__title, .b-product-navigation-trade__title, .b-related__title, .b-nutritional-popup__title, h3,
.h3, .c-title__sub {
  font-size: 19px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    .b-product-information__title, .b-product-specs__title, .b-product-navigation__title, .b-product-navigation-trade__title, .b-related__title, .b-nutritional-popup__title, h3,
    .h3, .c-title__sub {
      font-size: 19px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__title, .b-product-specs__title, .b-product-navigation__title, .b-product-navigation-trade__title, .b-related__title, .b-nutritional-popup__title, h3,
    .h3, .c-title__sub {
      font-size: 19px; } }
  @media screen and (min-width: 1440px) {
    .b-product-information__title, .b-product-specs__title, .b-product-navigation__title, .b-product-navigation-trade__title, .b-related__title, .b-nutritional-popup__title, h3,
    .h3, .c-title__sub {
      font-size: 19px; } }

h4,
.h4 {
  font-size: 18px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    h4,
    .h4 {
      font-size: 18px; } }
  @media screen and (min-width: 1024px) {
    h4,
    .h4 {
      font-size: 18px; } }
  @media screen and (min-width: 1440px) {
    h4,
    .h4 {
      font-size: 18px; } }

h5,
.h5 {
  font-size: 16px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    h5,
    .h5 {
      font-size: 16px; } }
  @media screen and (min-width: 1024px) {
    h5,
    .h5 {
      font-size: 16px; } }
  @media screen and (min-width: 1440px) {
    h5,
    .h5 {
      font-size: 16px; } }

h6,
.h6 {
  font-size: 14px;
  line-height: 1.1; }
  @media screen and (min-width: 960px) {
    h6,
    .h6 {
      font-size: 14px; } }
  @media screen and (min-width: 1024px) {
    h6,
    .h6 {
      font-size: 14px; } }
  @media screen and (min-width: 1440px) {
    h6,
    .h6 {
      font-size: 14px; } }

.b-home-hero, .b-story-header, .b-page-header {
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .b-home-hero, .b-story-header, .b-page-header {
      height: 0;
      min-height: 0; } }
  .no-overlap.b-home-hero, .no-overlap.b-story-header, .no-overlap.b-page-header {
    height: auto; }
    @media screen and (max-width: 767px) {
      .no-overlap.b-home-hero, .no-overlap.b-story-header, .no-overlap.b-page-header {
        padding-top: 15%; } }
    @media screen and (min-width: 768px) {
      .no-overlap.b-home-hero, .no-overlap.b-story-header, .no-overlap.b-page-header {
        padding-top: 47%; } }

.b-home-hero__container, .b-story-header__container, .b-page-header__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }
  .b-home-hero__container::after, .b-story-header__container::after, .b-page-header__container::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 768px) {
    .b-home-hero__container, .b-story-header__container, .b-page-header__container {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0; } }

.b-home-hero__wrap, .b-story-header__wrap, .b-page-header__wrap {
  position: relative;
  z-index: 5;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .b-home-hero__wrap, .b-story-header__wrap, .b-page-header__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }
  @media screen and (min-width: 768px) {
    .b-home-hero__wrap, .b-story-header__wrap, .b-page-header__wrap {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      box-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -o-align-items: center;
      align-items: center;
      -ms-flex-align: center; } }

.b-home-hero__arrow, .b-story-header__arrow, .b-page-header__arrow {
  color: #ffffff;
  margin: 45px auto 0;
  cursor: pointer;
  position: relative;
  display: block;
  z-index: 5;
  width: 40px;
  height: 40px;
  font-size: 15px;
  opacity: 0; }
  .b-home-hero__arrow:before, .b-story-header__arrow:before, .b-page-header__arrow:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  @media screen and (min-width: 768px) {
    .b-home-hero__arrow, .b-story-header__arrow, .b-page-header__arrow {
      width: 60px;
      height: 60px;
      font-size: 21px; } }
  .b-home-hero__arrow:before, .b-story-header__arrow:before, .b-page-header__arrow:before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 15px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    @media screen and (min-width: 768px) {
      .b-home-hero__arrow:before, .b-story-header__arrow:before, .b-page-header__arrow:before {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 21px; } }
  @media screen and (min-width: 768px) {
    .b-home-hero__arrow, .b-story-header__arrow, .b-page-header__arrow {
      position: absolute;
      left: 50%;
      margin-left: -30px;
      bottom: 0; } }
  .no-js .b-home-hero__arrow, .no-js .b-story-header__arrow, .no-js .b-page-header__arrow {
    opacity: 1; }
  .animate .b-home-hero__arrow, .animate .b-story-header__arrow, .animate .b-page-header__arrow {
    -webkit-animation-name: fadeInDown;
            animation-name: fadeInDown;
    -webkit-animation-duration: .7s;
            animation-duration: .7s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  .no-animation.b-home-hero__arrow, .no-animation.b-story-header__arrow, .no-animation.b-page-header__arrow {
    -webkit-animation: none;
            animation: none;
    opacity: 1; }

.b-home-hero__video, .b-story-header__video, .b-page-header__video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 1;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  transition: 1s opacity; }

.b-home-hero__image, .b-story-header__image, .b-page-header__image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1; }

@font-face {
  font-family: "Noe Display";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Noe Display Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Noe Display Bold.woff") format("woff"); }

@font-face {
  font-family: "Noe Display";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/Noe Display Bold Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Noe Display Bold Italic.woff") format("woff"); }

@font-face {
  font-family: "Brown";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/lineto-brown-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-brown-bold.woff") format("woff"); }

@font-face {
  font-family: "Brown";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/lineto-brown-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-brown-regular.woff") format("woff"); }

@font-face {
  font-family: "Brown";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/lineto-brown-light.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-brown-light.woff") format("woff"); }

@font-face {
  font-family: "Brown";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/lineto-brown-thin.eot?#iefix") format("embedded-opentype"), url("../fonts/lineto-brown-thin.woff") format("woff"); }

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *  user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
  display: block; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active, a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *  (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: border-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

::-moz-selection {
  color: #ffffff;
  background: #0f4b62; }

::selection {
  color: #ffffff;
  background: #0f4b62; }

html {
  font-size: 62.5%;
  height: 100%; }

body {
  background: #ffffff;
  font-weight: 400;
  font-family: "Brown", sans;
  line-height: 1.3;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  min-height: 100%;
  width: 100%;
  height: 100%;
  height: auto;
  border-left: 8px solid #ffffff;
  border-right: 8px solid #ffffff;
  padding: 8px 0; }
  @media screen and (min-width: 768px) {
    body {
      padding-top: 15px;
      padding-bottom: 15px;
      border-left-width: 15px;
      border-right-width: 15px; } }
  body:before,
  body:after {
    content: "";
    position: fixed;
    background: #ffffff;
    left: 0;
    right: 0;
    height: 8px;
    z-index: 999; }
    @media screen and (min-width: 768px) {
      body:before,
      body:after {
        height: 15px; } }
  body:before {
    top: 0; }
  body:after {
    bottom: 0; }

.preload * {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important; }

.offcanvas-visible,
.offcanvas-visible body {
  overflow: hidden;
  height: 100%; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Noe Display", sans-serif;
  line-height: 1;
  margin: 0.67em 0;
  text-rendering: optimizeLegibility;
  font-weight: 700; }
  h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
  .h1:first-child, .h2:first-child, .h3:first-child, .h4:first-child, .h5:first-child, .h6:first-child {
    margin-top: 0; }
  h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child,
  .h1:last-child, .h2:last-child, .h3:last-child, .h4:last-child, .h5:last-child, .h6:last-child {
    margin-bottom: 0; }

a {
  transition: color 200ms ease-in-out; }
  a:active,
  a:focus {
    outline: none; }

p,
figure {
  margin: 1em 0; }
  p:last-child,
  figure:last-child {
    margin-bottom: 0; }
  p:first-child,
  figure:first-child {
    margin-top: 0; }

em {
  font-style: italic; }

strong {
  font-weight: 700; }

img,
picture {
  margin: 0;
  max-width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

figure img {
  display: block; }

blockquote {
  border-left: 8px solid #3b3a3b;
  margin: 15px 0;
  padding-left: 13px;
  padding-right: 15px; }
  @media screen and (min-width: 768px) {
    blockquote {
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (min-width: 960px) {
    blockquote {
      padding-left: 21px;
      padding-right: 21px; } }

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

dl {
  margin: 0; }
  dl dt,
  dl dd {
    font-weight: 400;
    margin: 0;
    padding: 0; }

hr {
  height: 1px;
  border: 0;
  background: #3b3a3b; }

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

input,
select,
textarea,
button {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  border-radius: 0; }

button,
textarea:focus,
input:focus,
select:focus {
  outline: 0; }

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

input[type="checkbox"],
input[type="radio"] {
  display: inline;
  margin-right: .25em;
  vertical-align: middle; }
  input[type="checkbox"]:not(:disabled),
  input[type="radio"]:not(:disabled) {
    cursor: pointer; }

label {
  display: block; }
  label.-inline {
    display: inline-block; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea,
select {
  vertical-align: middle;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  display: block;
  font-size: 14px;
  height: 32px; }
  @media screen and (min-width: 960px) {
    input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea,
    select {
      font-size: 16px;
      height: 40px; } }
  input[type="color"].-short, input[type="date"].-short, input[type="datetime"].-short, input[type="datetime-local"].-short, input[type="email"].-short, input[type="month"].-short, input[type="number"].-short, input[type="password"].-short, input[type="search"].-short, input[type="tel"].-short, input[type="text"].-short, input[type="time"].-short, input[type="url"].-short, input[type="week"].-short, input:not([type]).-short, textarea.-short,
  select.-short {
    width: 100px; }
  input[type="color"].-long, input[type="date"].-long, input[type="datetime"].-long, input[type="datetime-local"].-long, input[type="email"].-long, input[type="month"].-long, input[type="number"].-long, input[type="password"].-long, input[type="search"].-long, input[type="tel"].-long, input[type="text"].-long, input[type="time"].-long, input[type="url"].-long, input[type="week"].-long, input:not([type]).-long, textarea.-long,
  select.-long {
    width: 300px; }
  input[type="color"].-full, input[type="date"].-full, input[type="datetime"].-full, input[type="datetime-local"].-full, input[type="email"].-full, input[type="month"].-full, input[type="number"].-full, input[type="password"].-full, input[type="search"].-full, input[type="tel"].-full, input[type="text"].-full, input[type="time"].-full, input[type="url"].-full, input[type="week"].-full, input:not([type]).-full, textarea.-full,
  select.-full {
    width: 100%; }
  input[type="color"].-small, input[type="date"].-small, input[type="datetime"].-small, input[type="datetime-local"].-small, input[type="email"].-small, input[type="month"].-small, input[type="number"].-small, input[type="password"].-small, input[type="search"].-small, input[type="tel"].-small, input[type="text"].-small, input[type="time"].-small, input[type="url"].-small, input[type="week"].-small, input:not([type]).-small, textarea.-small,
  select.-small {
    height: 24px; }
    @media screen and (min-width: 960px) {
      input[type="color"].-small, input[type="date"].-small, input[type="datetime"].-small, input[type="datetime-local"].-small, input[type="email"].-small, input[type="month"].-small, input[type="number"].-small, input[type="password"].-small, input[type="search"].-small, input[type="tel"].-small, input[type="text"].-small, input[type="time"].-small, input[type="url"].-small, input[type="week"].-small, input:not([type]).-small, textarea.-small,
      select.-small {
        height: 30px; } }
  input[type="color"].-large, input[type="date"].-large, input[type="datetime"].-large, input[type="datetime-local"].-large, input[type="email"].-large, input[type="month"].-large, input[type="number"].-large, input[type="password"].-large, input[type="search"].-large, input[type="tel"].-large, input[type="text"].-large, input[type="time"].-large, input[type="url"].-large, input[type="week"].-large, input:not([type]).-large, textarea.-large,
  select.-large {
    height: 42px; }
    @media screen and (min-width: 960px) {
      input[type="color"].-large, input[type="date"].-large, input[type="datetime"].-large, input[type="datetime-local"].-large, input[type="email"].-large, input[type="month"].-large, input[type="number"].-large, input[type="password"].-large, input[type="search"].-large, input[type="tel"].-large, input[type="text"].-large, input[type="time"].-large, input[type="url"].-large, input[type="week"].-large, input:not([type]).-large, textarea.-large,
      select.-large {
        height: 60px; } }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], input:not([type]), textarea {
  color: #3b3a3b;
  background: #ffffff;
  border: 1px solid #3b3a3b;
  transition: all 0.3s ease-in-out;
  padding-left: 13px;
  padding-right: 13px; }

select[multiple] {
  height: 90px; }
  @media screen and (min-width: 960px) {
    select[multiple] {
      height: 120px; } }
  select[multiple] option {
    padding: 5px; }

textarea {
  height: 90px;
  padding-top: 10px;
  padding-bottom: 10px; }
  @media screen and (min-width: 960px) {
    textarea {
      height: 120px;
      padding-top: 13px;
      padding-bottom: 13px; } }
  .no-touchevents textarea {
    resize: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }
  table th,
  table td {
    text-align: left;
    padding: 5px; }
  table td {
    vertical-align: top; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  90% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  90% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.1; }
  100% {
    opacity: 1; } }

@keyframes blink {
  0% {
    opacity: 1; }
  50% {
    opacity: 0.1; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -50px, 0);
            transform: translate3d(0, -50px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0); } }

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); } }

@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    visibility: visible; }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@-webkit-keyframes arrowMove {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

@keyframes arrowMove {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

@-webkit-keyframes navShow {
  0% {
    z-index: 999;
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

@keyframes navShow {
  0% {
    z-index: 999;
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.l-wrap {
  position: relative;
  min-width: 288px; }
  .l-wrap::after {
    clear: both;
    content: "";
    display: table; }

.l-content {
  padding: 0;
  background: #ffffff; }

.l-container.-s {
  max-width: 768px; }

.l-container.-m {
  max-width: 960px; }

.l-container.-l {
  max-width: 1024px; }

.l-container.-xl {
  max-width: 1024px; }

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

.l-col {
  box-flex: 1;
  -webkit-flex: 1 0 0;
  -moz-flex: 1 0 0;
  -ms-flex: 1 0 0;
  flex: 1 0 0; }

.l-full {
  width: 100%;
  float: none;
  margin: 0; }

.c-btn {
  margin: 2px;
  font-family: "Brown", sans;
  font-weight: 400;
  color: #ffffff;
  background: #3b3a3b;
  border: 0; }
  .-fill.c-btn {
    margin: 0; }
  .no-touchevents .c-btn:hover {
    color: #ffffff;
    background: #104E64; }

.c-btn.is-disabled, .c-btn[disabled], .c-btn[data-disabled] {
  background: #ffffff;
  color: #3b3a3b;
  cursor: not-allowed; }
  .no-touchevents .c-btn.is-disabled:hover, .no-touchevents .c-btn[disabled]:hover, .no-touchevents .c-btn[data-disabled]:hover {
    background: #ffffff;
    color: #3b3a3b; }

.c-btn.-normal {
  height: 32px;
  line-height: 32px;
  padding: 0 10px;
  font-size: 16px; }
  @media screen and (min-width: 768px) {
    .c-btn.-normal {
      height: 40px;
      line-height: 40px;
      font-size: 16px; } }
  @media screen and (min-width: 960px) {
    .c-btn.-normal {
      padding: 0 13px;
      font-size: 20px; } }
  @media screen and (min-width: 1024px) {
    .c-btn.-normal {
      padding: 0 15px;
      font-size: 24px; } }
  @media screen and (min-width: 1440px) {
    .c-btn.-normal {
      padding: 0 21px;
      font-size: 28px; } }

.c-btn.-small {
  height: 26px;
  line-height: 26px;
  padding: 0 5px;
  font-size: 14px; }
  @media screen and (min-width: 768px) {
    .c-btn.-small {
      height: 30px;
      line-height: 30px;
      padding: 0 10px;
      font-size: 14px; } }
  @media screen and (min-width: 960px) {
    .c-btn.-small {
      padding: 0 13px;
      font-size: 16px; } }
  @media screen and (min-width: 1024px) {
    .c-btn.-small {
      padding: 0 15px;
      font-size: 18px; } }
  @media screen and (min-width: 1440px) {
    .c-btn.-small {
      padding: 0 21px;
      font-size: 20px; } }

.c-btn.-large {
  height: 44px;
  line-height: 44px;
  padding: 0 13px;
  font-size: 18px; }
  @media screen and (min-width: 768px) {
    .c-btn.-large {
      height: 50px;
      line-height: 50px;
      padding: 0 15px;
      font-size: 20px; } }
  @media screen and (min-width: 960px) {
    .c-btn.-large {
      padding: 0 21px;
      font-size: 24px; } }
  @media screen and (min-width: 1024px) {
    .c-btn.-large {
      padding: 0 30px;
      font-size: 30px; } }
  @media screen and (min-width: 1440px) {
    .c-btn.-large {
      padding: 0 45px;
      font-size: 36px; } }

.c-btn.-full {
  margin: 0;
  display: block;
  width: 100%; }

.c-btn.-primary {
  background: #104E64; }
  .no-touchevents .c-btn.-primary:hover {
    background: #3b3a3b; }

.c-btn.-secondary {
  color: #ffffff;
  background: #104E64; }
  .no-touchevents .c-btn.-secondary:hover {
    background: #3b3a3b;
    color: #ffffff; }

.c-btn.-tertiary {
  background: #104E64;
  color: #3b3a3b; }
  .no-touchevents .c-btn.-tertiary:hover {
    background: #104E64;
    color: #3b3a3b; }

.c-btn.-transparent {
  background: transparent;
  color: #3b3a3b;
  border: 1px solid #3b3a3b; }
  .no-touchevents .c-btn.-transparent:hover {
    background: transparent;
    color: #104E64;
    border-color: #104E64; }

.c-btn.-light-primary {
  background: #ffffff;
  color: #104E64; }
  .no-touchevents .c-btn.-light-primary:hover {
    background: #ffffff;
    color: #3b3a3b; }

.c-btn.-light-secondary {
  background: #ffffff;
  color: #104E64; }
  .no-touchevents .c-btn.-light-secondary:hover {
    background: #ffffff;
    color: #3b3a3b; }

.c-btn.-light-tertiary {
  background: #ffffff;
  color: #3b3a3b; }
  .no-touchevents .c-btn.-light-tertiary:hover {
    background: #bdcac7;
    color: #3b3a3b; }

.c-btn.-light-transparent {
  background: transparent;
  color: #ffffff;
  border: 1px solid #ffffff; }
  .no-touchevents .c-btn.-light-transparent:hover {
    background: transparent;
    color: #bdcac7;
    border-color: #bdcac7; }

.c-btn__icon:before, .c-btn.-icon:before {
  line-height: inherit; }

.c-btn__icon {
  margin-right: 5px;
  display: inline-block;
  line-height: inherit;
  vertical-align: middle; }

.c-form {
  position: relative; }

.c-form__row {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .c-form__row {
      margin-top: 13px; } }
  @media screen and (min-width: 960px) {
    .c-form__row {
      margin-top: 15px; } }
  @media screen and (min-width: 768px) {
    .c-form__row {
      margin-bottom: 13px; } }
  @media screen and (min-width: 960px) {
    .c-form__row {
      margin-bottom: 15px; } }
  .c-form__row:first-child {
    margin-top: 0; }
  .c-form__row:last-child {
    margin-bottom: 0; }

.-inline.c-form__check {
  display: inline-block;
  margin-right: 10px; }

.c-form__label {
  cursor: pointer; }

.c-form__select {
  color: #3b3a3b;
  background: #ffffff;
  border: 1px solid #3b3a3b;
  transition: all 0.3s ease-in-out;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: inline-block;
  border-radius: 6px;
  padding-right: 15px; }
  .-full.c-form__select {
    display: block; }
  .c-form__select:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #3b3a3b transparent transparent transparent;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -3px;
    right: 10px;
    content: "";
    z-index: 6; }

.c-form__select select {
  position: relative;
  background: transparent;
  border: 0;
  width: 110%;
  cursor: pointer;
  border: none;
  box-shadow: none;
  background: transparent;
  background-image: none;
  -webkit-appearance: none;
  z-index: 11;
  padding: 5px 10px; }

.c-title {
  position: relative;
  text-align: left; }

.c-title__main {
  font-weight: 700;
  color: #0f4b62;
  margin: 0; }

.c-title__sub {
  font-weight: 400;
  color: #0f4b62;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0; }

[hidden],
.hide,
.is-hidden {
  display: none; }

.u-cf:after {
  clear: both;
  content: ' ';
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden; }

.u-cl {
  border: 0;
  clear: both;
  display: block;
  height: 0;
  margin: 0;
  padding: 0; }

.u-hs {
  -webkit-transform: scale(3, 1);
          transform: scale(3, 1);
  padding: 0 0.5em;
  display: inline-block;
  font-style: normal; }

.u-tc {
  text-align: center; }

.u-tl {
  text-align: left; }

.u-tr {
  text-align: right; }

.u-fl {
  float: left; }

.u-fr {
  float: right; }

.u-fn {
  float: none; }

.u-bc {
  margin-left: auto;
  margin-right: auto; }

.u-bvc {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.u-sep {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .u-sep {
      margin-top: 13px; } }
  @media screen and (min-width: 960px) {
    .u-sep {
      margin-top: 15px; } }
  @media screen and (min-width: 768px) {
    .u-sep {
      margin-bottom: 13px; } }
  @media screen and (min-width: 960px) {
    .u-sep {
      margin-bottom: 15px; } }
  .u-sep.-small {
    margin-top: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 768px) {
      .u-sep.-small {
        margin-top: 10px; } }
    @media screen and (min-width: 960px) {
      .u-sep.-small {
        margin-top: 13px; } }
    @media screen and (min-width: 768px) {
      .u-sep.-small {
        margin-bottom: 10px; } }
    @media screen and (min-width: 960px) {
      .u-sep.-small {
        margin-bottom: 13px; } }
  .u-sep.-large {
    margin-top: 13px;
    margin-bottom: 13px; }
    @media screen and (min-width: 768px) {
      .u-sep.-large {
        margin-top: 15px; } }
    @media screen and (min-width: 960px) {
      .u-sep.-large {
        margin-top: 21px; } }
    @media screen and (min-width: 768px) {
      .u-sep.-large {
        margin-bottom: 15px; } }
    @media screen and (min-width: 960px) {
      .u-sep.-large {
        margin-bottom: 21px; } }

.u-line {
  height: 1px;
  overflow: hidden;
  background: #3b3a3b;
  padding: 0;
  font-size: 0;
  line-height: 0;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .u-line {
      margin-top: 13px; } }
  @media screen and (min-width: 960px) {
    .u-line {
      margin-top: 15px; } }
  @media screen and (min-width: 768px) {
    .u-line {
      margin-bottom: 13px; } }
  @media screen and (min-width: 960px) {
    .u-line {
      margin-bottom: 15px; } }
  .u-line.-small {
    margin-top: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 768px) {
      .u-line.-small {
        margin-top: 10px; } }
    @media screen and (min-width: 960px) {
      .u-line.-small {
        margin-top: 13px; } }
    @media screen and (min-width: 768px) {
      .u-line.-small {
        margin-bottom: 10px; } }
    @media screen and (min-width: 960px) {
      .u-line.-small {
        margin-bottom: 13px; } }
  .u-line.-large {
    margin-top: 13px;
    margin-bottom: 13px; }
    @media screen and (min-width: 768px) {
      .u-line.-large {
        margin-top: 15px; } }
    @media screen and (min-width: 960px) {
      .u-line.-large {
        margin-top: 21px; } }
    @media screen and (min-width: 768px) {
      .u-line.-large {
        margin-bottom: 15px; } }
    @media screen and (min-width: 960px) {
      .u-line.-large {
        margin-bottom: 21px; } }

.b-header--overlap {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: 800; }

.b-header__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-header__container::after {
    clear: both;
    content: "";
    display: table; }

.b-header__wrap {
  height: 100px;
  position: relative;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .b-header__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-header__logo {
  float: left;
  height: 100px;
  vertical-align: middle;
  position: relative;
  width: 138px; }

.b-header__logo-img {
  background: url(../images/logo.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 138px;
  height: 44px;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-indent: -9999px; }

.b-header__logo-img--white {
  background-image: url(../images/logo-white.svg); }

.b-header__nav {
  float: right; }

.b-header-nav {
  float: right; }

@media screen and (max-width: 1023px) {
  .b-header-nav__list {
    display: none; } }

@media screen and (min-width: 1024px) {
  .b-header-nav__list {
    display: inline-block; } }

.b-header-nav__item {
  display: inline-block;
  padding-right: 21px; }

.is-open.b-header-nav__item--sub .b-header-nav__link {
  color: #104E64; }
  .is-open.b-header-nav__item--sub .b-header-nav__link:after {
    -webkit-transform: scaleY(-1);
            transform: scaleY(-1); }
  .is-open.b-header-nav__item--sub .b-header-nav__link:before {
    -webkit-animation-name: fadeInDownShort;
            animation-name: fadeInDownShort;
    -webkit-animation-duration: 200ms;
            animation-duration: 200ms;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1; }

.is-open.b-header-nav__item--sub .b-header-nav__link--overlap {
  color: #ffffff; }

.b-header-nav__link {
  line-height: 100px;
  display: block;
  position: relative;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px; }
  .no-touchevents .b-header-nav__link:hover {
    color: #104E64; }
  .is-selected > .b-header-nav__link {
    color: #104E64; }

.no-touchevents .b-header-nav__link--overlap:hover {
  color: #ffffff; }

.is-selected > .b-header-nav__link--overlap {
  color: #ffffff; }

.b-header-nav__link--sub:after {
  content: "";
  font-family: icons;
  font-size: 5px;
  display: inline-block;
  margin-left: 2px;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
  transition: -webkit-transform 200ms ease-in-out;
  transition: transform 200ms ease-in-out; }

.b-header-nav__link--sub:before {
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  bottom: 0;
  border: 20px solid transparent;
  border-bottom: 20px solid #ebebeb;
  left: 50%;
  margin-left: -25px;
  opacity: 0; }

.b-header-nav__langs {
  font-weight: 700;
  display: none;
  font-size: 13px; }
  @media screen and (min-width: 1024px) {
    .b-header-nav__langs {
      display: inline-block; } }

.b-header-nav__langs-item {
  display: inline-block; }
  .b-header-nav__langs-item:first-child:after {
    content: "|";
    color: #62B0BF;
    margin: 0 4px; }

.b-header-nav__langs-link {
  display: inline-block;
  transition: color 200ms ease-in-out; }
  .no-touchevents .b-header-nav__langs-link:hover {
    color: #104E64; }

.no-touchevents .b-header-nav__langs-link--overlap:hover {
  color: #ffffff; }

@media screen and (max-width: 1023px) {
  .b-header-nav__toggle-button {
    position: relative;
    height: 100px;
    line-height: 100px;
    display: block; } }

@media screen and (min-width: 1024px) {
  .b-header-nav__toggle-button {
    display: none; } }

.b-header-nav-sub {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  top: 100%;
  z-index: 999;
  background: #ebebeb;
  color: #ffffff;
  line-height: 1;
  text-transform: none;
  opacity: 0;
  visibility: hidden; }
  .is-open .b-header-nav-sub {
    -webkit-animation-name: fadeInDownShort;
            animation-name: fadeInDownShort;
    -webkit-animation-duration: 200ms;
            animation-duration: 200ms;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    opacity: 1;
    visibility: visible; }

.b-header-nav-sub__wrap {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .b-header-nav-sub__wrap {
      padding-top: 60px; } }
  @media screen and (min-width: 960px) {
    .b-header-nav-sub__wrap {
      padding-top: 90px; } }
  @media screen and (min-width: 768px) {
    .b-header-nav-sub__wrap {
      padding-bottom: 60px; } }
  @media screen and (min-width: 960px) {
    .b-header-nav-sub__wrap {
      padding-bottom: 90px; } }
  @media screen and (min-width: 1024px) {
    .b-header-nav-sub__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-header-nav-sub__row {
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  font-size: 17px; }
  @media screen and (min-width: 768px) {
    .b-header-nav-sub__row {
      font-size: 17px; } }

.b-header-nav-sub__col {
  box-flex: 1;
  -webkit-flex: 1 0 auto;
  -moz-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto; }

.b-header-nav-sub__row--four .b-header-nav-sub__col {
  width: 25%; }

.b-header-nav-sub__row--four .b-header-nav-sub__col--double {
  width: 50%; }

.b-header-nav-sub__row--divider .b-header-nav-sub__col {
  border-right: 1px solid #dfe0e2;
  padding-left: 15px; }
  .b-header-nav-sub__row--divider .b-header-nav-sub__col:first-child {
    padding-left: 0; }
  .b-header-nav-sub__row--divider .b-header-nav-sub__col .b-header-nav-sub__col {
    border-right: none;
    padding-left: 0; }
  .b-header-nav-sub__row--divider .b-header-nav-sub__col:last-child {
    border-right: none; }

.b-header-nav-sub__row--five .b-header-nav-sub__col {
  width: 20%; }

.b-header-nav-sub__row--five .b-header-nav-sub__col--double {
  width: 40%; }

.b-header-nav-sub__heading {
  font-family: "Brown", sans;
  color: #0f4b62; }

.b-header-nav-sub__sub-heading {
  color: #0f4b62;
  display: block;
  line-height: 30px;
  margin-bottom: 5px; }

.b-header-nav-sub__item {
  margin-bottom: 5px; }

.b-header-nav-sub__link {
  display: block;
  line-height: 30px;
  transition: color 200ms ease-in-out; }
  .b-header-nav-sub__link i {
    display: inline-block;
    margin-left: 3px;
    font-size: 8px;
    line-height: 30px;
    vertical-align: middle;
    transition: -webkit-transform 200ms ease-in-out, opacity 200ms ease-in-out;
    transition: transform 200ms ease-in-out, opacity 200ms ease-in-out;
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  .no-touchevents .b-header-nav-sub__link:hover i {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }

.b-header-nav-sub__sub-list:last-child {
  margin-bottom: 0; }

.b-header-nav-sub__close {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 60px;
  height: 60px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: all 200ms ease-in-out; }
  .b-header-nav-sub__close:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .no-touchevents .b-header-nav-sub__close:hover {
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  .b-header-nav-sub__close:before {
    width: 60px;
    height: 60px;
    line-height: 60px;
    display: block;
    text-align: center;
    font-size: 28px; }

.b-footer {
  width: 100%;
  background: #104E64 url(../images/water-line.svg) 50% 100% no-repeat;
  background-size: 100%; }

.b-footer__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-footer__container::after {
    clear: both;
    content: "";
    display: table; }

.b-footer__wrap {
  padding-left: 4%;
  padding-right: 4%;
  padding-top: 60px;
  padding-bottom: 150px; }
  @media screen and (min-width: 1024px) {
    .b-footer__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }
  @media screen and (min-width: 768px) {
    .b-footer__wrap {
      padding-top: 80px;
      padding-bottom: 250px; } }
  @media screen and (min-width: 960px) {
    .b-footer__wrap {
      padding-top: 100px;
      padding-bottom: 300px; } }

.b-footer__logo {
  background: url(../images/logo-white.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  display: block; }
  @media screen and (max-width: 767px) {
    .b-footer__logo {
      width: 100px;
      height: 30px; } }
  @media screen and (min-width: 768px) {
    .b-footer__logo {
      width: 110px;
      height: 35px; } }
  @media screen and (min-width: 960px) {
    .b-footer__logo {
      width: 128px;
      height: 41px; } }

.b-footer__slogan-part {
  color: #ffffff;
  font-family: "Noe Display", sans-serif;
  display: block;
  font-size: 16px; }
  @media screen and (min-width: 768px) {
    .b-footer__slogan-part {
      font-size: 20px; } }
  @media screen and (min-width: 960px) {
    .b-footer__slogan-part {
      font-size: 20px; } }
  @media screen and (min-width: 1024px) {
    .b-footer__slogan-part {
      font-size: 22px; } }
  .b-footer__slogan-part:last-child {
    color: #9EB9CB;
    font-size: 14px; }
    @media screen and (min-width: 768px) {
      .b-footer__slogan-part:last-child {
        font-size: 16px; } }
    @media screen and (min-width: 960px) {
      .b-footer__slogan-part:last-child {
        font-size: 16px; } }
    @media screen and (min-width: 1024px) {
      .b-footer__slogan-part:last-child {
        font-size: 18px; } }

.b-footer__copy {
  color: #ffffff;
  font-weight: 200;
  margin-top: 10px;
  font-size: 12px; }
  @media screen and (min-width: 768px) {
    .b-footer__copy {
      font-size: 13px; } }

.b-footer__info {
  color: #ffffff;
  padding-right: 21px;
  font-size: 13px; }
  @media screen and (min-width: 768px) {
    .b-footer__info {
      font-size: 14px; } }
  @media screen and (min-width: 960px) {
    .b-footer__info {
      font-size: 16px; } }

@media screen and (min-width: 768px) {
  .b-footer__row {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; } }

@media screen and (max-width: 767px) {
  .b-footer__col {
    margin-bottom: 21px; }
    .b-footer__col:last-child {
      margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  .b-footer__col {
    box-flex: 1;
    -webkit-flex: 1 0 auto;
    -moz-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding-right: 15px;
    width: 20%; }
    .b-footer__col:last-child {
      padding-right: 0; } }

@media screen and (max-width: 767px) {
  .b-footer__col--logo {
    width: 100%;
    display: block; } }

@media screen and (max-width: 767px) {
  .b-footer__col--nav {
    float: left;
    width: 33.33333%;
    padding-right: 21px; } }

@media screen and (max-width: 639px) {
  .b-footer__col--nav {
    width: 50%;
    max-width: 190px; } }

@media screen and (max-width: 767px) {
  .b-footer__col--info {
    width: 33.3333%;
    float: left; } }

@media screen and (max-width: 639px) {
  .b-footer__col--info {
    float: none;
    width: 100%;
    max-width: 340px;
    display: block;
    clear: both; } }

@media screen and (max-width: 767px) {
  .b-footer__col--slogan {
    width: 100%;
    display: block; } }

.b-footer-nav__wrap {
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .b-footer-nav__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-footer-nav__item {
  margin-bottom: 13px;
  margin-bottom: 5px; }
  @media screen and (min-width: 768px) {
    .b-footer-nav__item {
      margin-bottom: 10px; } }
  @media screen and (min-width: 960px) {
    .b-footer-nav__item {
      margin-bottom: 13px; } }

.b-footer-nav__link {
  text-transform: uppercase;
  font-weight: 700;
  color: #62B0BF;
  transition: color 200ms ease-in-out;
  font-size: 13px; }
  @media screen and (min-width: 768px) {
    .b-footer-nav__link {
      font-size: 14px; } }
  @media screen and (min-width: 960px) {
    .b-footer-nav__link {
      font-size: 16px; } }
  .no-touchevents .b-footer-nav__link:hover {
    color: #95b3bd; }

.b-offcanvas {
  background-color: #ebebeb;
  position: fixed;
  left: 8px;
  top: 8px;
  bottom: 8px;
  right: 8px;
  z-index: 1004;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: none; }
  @media screen and (min-width: 768px) {
    .b-offcanvas {
      left: 15px;
      top: 15px;
      bottom: 15px;
      right: 15px; } }
  @media screen and (min-width: 1024px) {
    .b-offcanvas {
      display: none; } }
  .is-visible.b-offcanvas {
    z-index: 1004;
    -webkit-animation-name: navShow;
            animation-name: navShow;
    opacity: 1;
    visibility: visible;
    display: block; }
  .is-invisible.b-offcanvas {
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    display: none; }
  .is-inited.b-offcanvas {
    -webkit-animation-duration: 200ms;
            animation-duration: 200ms;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both; }

.b-offcanvas__header {
  background-color: #ffffff;
  padding: 20px; }
  .b-offcanvas__header::after {
    clear: both;
    content: "";
    display: table; }

.b-offcanvas__logo {
  display: block;
  float: left;
  width: 100px;
  line-height: 32px;
  background: url(../images/logo.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  text-indent: -9999px; }

.b-offcanvas__nav-wrap {
  position: relative; }

.b-offcanvas__nav {
  border-top: 1px solid #dedede; }

.b-offcanvas__close-btn {
  display: block;
  float: right;
  display: block;
  margin-top: 6px;
  width: 20px;
  height: 20px;
  transition: all 200ms ease-in-out; }
  .no-touchevents .b-offcanvas__close-btn:hover {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .b-offcanvas__close-btn svg {
    width: 20px;
    height: 20px; }
    .b-offcanvas__close-btn svg g {
      stroke: #104E64; }

.b-offcanvas__back {
  line-height: 24px;
  display: block;
  padding-left: 18px;
  position: relative; }
  .b-offcanvas__back:before {
    content: "";
    font-size: 8px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    position: absolute;
    left: 0;
    line-height: 24px;
    transition: left 200ms ease-in-out; }
  .no-touchevents .b-offcanvas__back:hover:before {
    left: -5px; }

.b-offcanvas__sub-panel {
  position: absolute;
  left: 100%;
  top: 0px;
  z-index: 1000;
  height: 100%;
  background-color: #ebebeb;
  width: 100%; }

.b-offcanvas__open-sub .b-offcanvas__sub-panel {
  left: 0; }

.b-offcanvas__sub-title {
  padding: 20px 20px 10px 20px;
  color: #0f4b62;
  font-weight: bold; }
  .b-offcanvas__sub-title a {
    color: #0f4b62; }

.b-offcanvas__sub-header {
  padding: 20px 20px 0px 20px;
  color: #0f4b62;
  font-weight: bold; }

.b-offcanvas__sub-section {
  border-bottom: 1px solid #dedede; }
  .b-offcanvas__sub-section:last-child {
    border-bottom: none;
    padding-bottom: 20px; }

.b-offcanvas__item--sub {
  border-bottom: 1px solid #dedede; }

.b-offcanvas__link {
  display: block;
  font-weight: 700;
  padding: 10px 20px;
  text-transform: uppercase;
  font-size: 14px; }
  .b-offcanvas__link:after {
    content: "";
    font-family: icons;
    font-weight: normal;
    display: inline-block;
    margin-left: 5px;
    font-size: 8px;
    transition: -webkit-transform 400ms ease-in-out, opacity 400ms ease-in-out;
    transition: transform 400ms ease-in-out, opacity 400ms ease-in-out;
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  .no-touchevents .b-offcanvas__link:hover:after {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }

.b-offcanvas__link--sub:after {
  content: "";
  font-size: 8px;
  -webkit-transform: rotate(-90deg) translateX(0);
          transform: rotate(-90deg) translateX(0);
  position: absolute;
  right: 20px;
  line-height: 24px;
  opacity: 1; }

.no-touchevents .b-offcanvas__link--sub:hover:after {
  -webkit-transform: rotate(-90deg) translateX(0);
          transform: rotate(-90deg) translateX(0); }

.b-offcanvas__langs {
  display: inline-block;
  padding: 10px 20px;
  font-size: 14px; }

.b-offcanvas__langs-item {
  display: inline-block; }
  .b-offcanvas__langs-item:first-child:after {
    content: "|";
    color: #95b3bd; }

.b-offcanvas__langs-link {
  display: inline-block; }

.b-module {
  margin: 70px 0; }
  @media screen and (min-width: 768px) {
    .b-module {
      margin: 100px 0; } }
  @media screen and (min-width: 960px) {
    .b-module {
      margin: 160px 0; } }
  @media screen and (min-width: 1024px) {
    .b-module {
      margin: 200px 0; } }

.b-module--no-top {
  margin-top: 0; }

.b-module--no-bottom {
  margin-bottom: 0; }

.b-content {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-content::after {
    clear: both;
    content: "";
    display: table; }

.b-preloader {
  position: fixed;
  z-index: 1014;
  background: #ffffff;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity 1.6s linear; }
  .page-loaded .b-preloader {
    opacity: 0; }

.b-preloader__logo {
  background: url(../images/logo.svg) 0 0 no-repeat;
  background-size: 100% 100%;
  width: 207px;
  height: 66px;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-indent: -9999px; }

.b-home-hero__content {
  color: #ffffff;
  max-width: 360px;
  opacity: 0; }
  @media screen and (max-width: 767px) {
    .b-home-hero__content {
      margin-top: 130px; } }
  @media screen and (min-width: 768px) {
    .b-home-hero__content {
      max-width: 480px; } }
  @media screen and (min-width: 960px) {
    .b-home-hero__content {
      max-width: 560px; } }
  .no-js .b-home-hero__content {
    opacity: 1; }
  .animate .b-home-hero__content {
    -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 500ms;
            animation-delay: 500ms;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }

.b-home-hero__popup-open {
  text-align: left;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 4px;
  width: 220px;
  display: block;
  position: relative;
  opacity: 0;
  font-size: 13px; }
  .no-js .b-home-hero__popup-open {
    opacity: 1; }
  .animate .b-home-hero__popup-open {
    -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 1000ms;
            animation-delay: 1000ms;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  @media screen and (min-width: 768px) {
    .b-home-hero__popup-open {
      font-size: 17px; } }
  @media screen and (min-width: 960px) {
    .b-home-hero__popup-open {
      font-size: 17px; } }
  .b-home-hero__popup-open span {
    display: block; }
  .b-home-hero__popup-open i {
    display: block; }
  .b-home-hero__popup-open svg .hover {
    opacity: 0;
    transition: opacity 200ms ease-in-out; }
  .no-touchevents .b-home-hero__popup-open:hover svg .hover {
    opacity: .75; }
  .no-touchevents .b-home-hero__popup-open:hover {
    color: #ffffff; }
  @media screen and (max-width: 767px) {
    .b-home-hero__popup-open {
      margin-top: 15px;
      height: 42px; }
      .b-home-hero__popup-open i {
        position: absolute;
        left: 0;
        top: 0; }
      .b-home-hero__popup-open svg {
        width: 42px;
        height: 42px; }
      .b-home-hero__popup-open span {
        position: absolute;
        width: 120px;
        display: block;
        left: 52px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
  @media screen and (min-width: 768px) {
    .b-home-hero__popup-open {
      padding-left: 4px;
      position: absolute;
      right: 4%;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      text-align: center;
      width: 108px;
      height: auto; }
      .b-home-hero__popup-open svg {
        width: 84px;
        height: 84px; } }
  @media screen and (min-width: 1024px) {
    .b-home-hero__popup-open {
      right: 8.4238%;
      margin-right: 8%; } }

.b-home-hero__title {
  margin: 0;
  line-height: 1.15;
  color: #104E64;
  font-size: 22px; }
  @media screen and (min-width: 768px) {
    .b-home-hero__title {
      font-size: 36px; } }
  @media screen and (min-width: 960px) {
    .b-home-hero__title {
      font-size: 36px; } }

.b-home-hero__subtitle {
  margin: 0;
  line-height: 1.15;
  color: #9EB9CB;
  font-size: 17px; }
  @media screen and (min-width: 768px) {
    .b-home-hero__subtitle {
      font-size: 25px; } }
  @media screen and (min-width: 960px) {
    .b-home-hero__subtitle {
      font-size: 29px; } }

.b-home-hero__text {
  margin: 21px 0 0 0;
  font-family: "Noe Display", sans-serif;
  line-height: 1;
  font-weight: 700;
  font-size: 22px; }
  @media screen and (min-width: 768px) {
    .b-home-hero__text {
      font-size: 32px; } }
  @media screen and (min-width: 960px) {
    .b-home-hero__text {
      font-size: 40px; } }

.b-product {
  position: relative; }

.b-product__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .b-product__container::after {
    clear: both;
    content: "";
    display: table; }

.b-product-content {
  background: #f7f7f7; }

.b-product-content__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-product-content__container::after {
    clear: both;
    content: "";
    display: table; }

.b-product-content__wrap {
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .b-product-content__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-product-content__cols {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 30px; }
  .b-product-content__cols::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 768px) {
    .b-product-content__cols {
      padding-top: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-content__cols {
      padding-top: 90px; } }
  @media screen and (min-width: 768px) {
    .b-product-content__cols {
      padding-bottom: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-content__cols {
      padding-bottom: 90px; } }

@media screen and (min-width: 768px) {
  .b-product-content__col {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 48.90255%; }
    .b-product-content__col:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .b-product-content__col {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 49.45723%; }
    .b-product-content__col:last-child {
      margin-right: 0; } }

.b-product-content__col--first {
  margin-bottom: 13px; }
  @media screen and (min-width: 768px) {
    .b-product-content__col--first {
      margin-bottom: 15px; } }
  @media screen and (min-width: 960px) {
    .b-product-content__col--first {
      margin-bottom: 21px; } }
  @media screen and (min-width: 768px) {
    .b-product-content__col--first {
      margin-bottom: 0; } }

.b-product-header {
  position: relative; }
  @media screen and (min-width: 1024px) {
    .b-product-header {
      padding-top: 49%; } }

.b-product-header__fig {
  margin: 0; }
  @media screen and (min-width: 1024px) {
    .b-product-header__fig {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 5; } }

.b-product-header__image {
  width: 100%;
  height: auto; }

.b-product-header__titles {
  padding-top: 60px;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .b-product-header__titles {
      background: transparent;
      float: left;
      padding-left: 0;
      padding-right: 0;
      margin-left: 4%; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__titles {
      float: none;
      position: absolute;
      z-index: 50;
      left: 0;
      padding: 0;
      top: 60px;
      margin-left: 8.4238%; } }

.b-product-header__title {
  color: #104E64;
  position: relative;
  margin: 0;
  font-size: 38px; }
  @media screen and (min-width: 768px) {
    .b-product-header__title {
      font-size: 44px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__title {
      font-size: 52px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__title {
      font-size: 60px; } }
  .b-product-header__title:before,
  .b-product-header__title:after {
    position: absolute;
    content: "";
    background: #104E64; }
  .b-product-header__title:after {
    width: 1px;
    height: 42px;
    top: -60px;
    left: 21px; }
  .b-product-header__title:before {
    height: 1px;
    width: 42px;
    top: -39px;
    left: 0; }

.b-product-header__subtitle {
  color: #104E64;
  font-family: "Brown", sans;
  text-transform: uppercase;
  letter-spacing: .3em;
  font-size: 15px; }
  @media screen and (min-width: 960px) {
    .b-product-header__subtitle {
      font-size: 16px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__subtitle {
      font-size: 18px; } }

.b-product-header__translation {
  color: #104E64;
  font-family: "Brown", sans;
  font-size: 13px; }
  @media screen and (min-width: 768px) {
    .b-product-header__translation {
      font-size: 14px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__translation {
      font-size: 15px; } }

.b-product-header__info {
  padding-left: 4%;
  padding-right: 4%;
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .b-product-header__info {
      padding-top: 45px;
      padding-bottom: 0;
      padding-left: 0;
      padding-right: 0;
      margin-right: 4%;
      text-align: right;
      position: absolute;
      right: 0;
      top: 0; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__info {
      margin-right: 8.4238%;
      position: absolute;
      right: 0;
      padding-top: 0;
      top: 21px;
      z-index: 50; } }

.b-product-header__specs {
  display: block;
  text-align: left;
  color: #104E64; }

.b-product-header__specs-item {
  vertical-align: top;
  line-height: 1;
  display: block;
  margin-bottom: 15px;
  margin-right: 0; }
  @media screen and (min-width: 768px) {
    .b-product-header__specs-item {
      display: inline-block;
      margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    .b-product-header__specs-item {
      margin-right: 24px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__specs-item {
      margin-right: 30px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__specs-item {
      margin-right: 36px; } }
  .b-product-header__specs-item:last-child {
    margin-right: 0;
    margin-bottom: 0; }

.b-product-header__specs-label-top {
  display: block;
  margin-bottom: 8px;
  font-size: 17px; }
  @media screen and (min-width: 960px) {
    .b-product-header__specs-label-top {
      margin-bottom: 10px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__specs-label-top {
      font-size: 19px; } }

.b-product-header__specs-label-bottom {
  display: block;
  font-weight: 200;
  font-size: 13px; }
  @media screen and (min-width: 768px) {
    .b-product-header__specs-label-bottom {
      font-size: 13px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__specs-label-bottom {
      font-size: 14px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__specs-label-bottom {
      font-size: 14px; } }

.b-product-header__specs-value {
  display: block;
  font-family: "Noe Display", sans-serif;
  white-space: nowrap;
  font-size: 36px; }
  @media screen and (min-width: 768px) {
    .b-product-header__specs-value {
      font-size: 40px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__specs-value {
      font-size: 44px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__specs-value {
      font-size: 48px; } }
  .b-product-header__specs-value em {
    font-style: normal;
    font-size: 18px; }
    @media screen and (min-width: 768px) {
      .b-product-header__specs-value em {
        font-size: 20px; } }
    @media screen and (min-width: 960px) {
      .b-product-header__specs-value em {
        font-size: 22px; } }
    @media screen and (min-width: 1024px) {
      .b-product-header__specs-value em {
        font-size: 24px; } }

.b-product-header__pdf {
  display: inline-block;
  white-space: nowrap;
  position: relative;
  font-size: 13px;
  margin-top: 10px;
  padding-right: 16px; }
  @media screen and (min-width: 768px) {
    .b-product-header__pdf {
      font-size: 13px;
      margin-top: 10px; } }
  @media screen and (min-width: 960px) {
    .b-product-header__pdf {
      font-size: 14px;
      margin-top: 10px; } }
  @media screen and (min-width: 1024px) {
    .b-product-header__pdf {
      font-size: 14px;
      margin-top: 10px; } }
  .b-product-header__pdf:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .b-product-header__pdf:before {
    position: absolute;
    right: 0;
    top: 4px;
    font-size: 9px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

.b-product-information__nutritional-more, .b-product-information__grade-more {
  display: block;
  line-height: 20px;
  position: relative;
  padding-left: 21px; }
  .b-product-information__nutritional-more:before, .b-product-information__grade-more:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .b-product-information__nutritional-more:before, .b-product-information__grade-more:before {
    font-size: 13px;
    position: absolute;
    left: 0;
    line-height: 13px;
    top: 50%;
    margin-top: -7px;
    transition: all 200ms ease-in-out 100ms; }
    .no-touchevents .b-product-information__nutritional-more:before:hover, .no-touchevents .b-product-information__grade-more:before:hover {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }

.b-product-information {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px; }
  .b-product-information::after {
    clear: both;
    content: "";
    display: table; }

.b-product-information__wrap {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .b-product-information__wrap {
      padding-top: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__wrap {
      padding-top: 90px; } }
  @media screen and (min-width: 768px) {
    .b-product-information__wrap {
      padding-bottom: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__wrap {
      padding-bottom: 90px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-product-information__row {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px; }
  .b-product-information__row::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 768px) {
    .b-product-information__row {
      margin-bottom: 30px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__row {
      margin-bottom: 30px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__row {
      margin-bottom: 30px; } }
  .b-product-information__row:last-child {
    margin-bottom: 0; }

@media screen and (max-width: 959px) {
  .b-product-information__col {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 49.45723%;
    margin-bottom: 21px; }
    .b-product-information__col:last-child {
      margin-right: 0; }
    .b-product-information__col:nth-child(2n) {
      margin-right: 0; }
    .b-product-information__col:nth-child(2n+1) {
      clear: left; } }

@media screen and (min-width: 960px) {
  .b-product-information__col {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 32.60964%; }
    .b-product-information__col:last-child {
      margin-right: 0; } }

@media screen and (max-width: 767px) {
  .b-product-information__col {
    width: 100%;
    max-width: 480px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 21px;
    float: none; }
    .b-product-information__col:last-child {
      margin-bottom: 0; } }

.b-product-information__title {
  margin-bottom: 21px; }

.b-product-information__nutritional-list {
  color: #0f4b62;
  line-height: 1; }
  .b-product-information__nutritional-list::after {
    clear: both;
    content: "";
    display: table; }

.b-product-information__nutritional-item {
  float: left;
  width: 50%;
  padding-right: 15px; }
  .b-product-information__nutritional-item:nth-child(2n+1) {
    clear: left; }

.b-product-information__nutritional-label {
  display: block;
  font-family: "Brown", sans;
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 12px; }
  @media screen and (min-width: 768px) {
    .b-product-information__nutritional-label {
      font-size: 12px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__nutritional-label {
      font-size: 13px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__nutritional-label {
      font-size: 13px; } }

.b-product-information__nutritional-value {
  display: block;
  white-space: nowrap;
  font-family: "Noe Display", sans-serif;
  font-size: 39px; }
  @media screen and (min-width: 768px) {
    .b-product-information__nutritional-value {
      font-size: 43px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__nutritional-value {
      font-size: 47px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__nutritional-value {
      font-size: 55px; } }
  .b-product-information__nutritional-value em {
    font-style: normal;
    font-size: 21px; }
    @media screen and (min-width: 768px) {
      .b-product-information__nutritional-value em {
        font-size: 23px; } }
    @media screen and (min-width: 960px) {
      .b-product-information__nutritional-value em {
        font-size: 25px; } }
    @media screen and (min-width: 1024px) {
      .b-product-information__nutritional-value em {
        font-size: 27px; } }

.b-product-information__nutritional-more {
  margin-top: 15px; }

.b-product-information__nutritional-popup {
  display: none; }

.b-product-information__catch {
  padding-right: 60px; }
  @media screen and (min-width: 768px) {
    .b-product-information__catch {
      padding-right: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__catch {
      padding-right: 60px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__catch {
      padding-right: 60px; } }

.b-product-information__catch-item {
  margin-bottom: 1em;
  font-weight: 200;
  position: relative;
  min-height: 50px; }
  .b-product-information__catch-item::after {
    clear: both;
    content: "";
    display: table; }

.b-product-information__catch-label {
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px; }

.b-product-information__catch-value {
  margin-left: 55px;
  display: block;
  line-height: 50px; }

.b-product-information__seasonal {
  margin-bottom: 60px; }
  @media screen and (min-width: 768px) {
    .b-product-information__seasonal {
      margin-bottom: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__seasonal {
      margin-bottom: 60px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__seasonal {
      margin-bottom: 60px; } }

.b-product-information__seasonal-legend {
  color: #104E64; }
  .b-product-information__seasonal-legend dt,
  .b-product-information__seasonal-legend dd {
    display: inline-block;
    vertical-align: middle;
    line-height: 18px; }
  .b-product-information__seasonal-legend dt {
    margin-right: 5px;
    width: 18px;
    height: 18px;
    border-radius: 18px;
    background: #104E64; }
    .b-product-information__seasonal-legend dt:nth-child(3) {
      background: #dfe2e8; }
  .b-product-information__seasonal-legend dd {
    margin-right: 15px; }

.b-product-information__grade-label {
  color: #104E64;
  font-family: "Noe Display", sans-serif;
  line-height: 1;
  margin: 0;
  font-size: 50px; }
  @media screen and (min-width: 768px) {
    .b-product-information__grade-label {
      font-size: 50px; } }
  @media screen and (min-width: 960px) {
    .b-product-information__grade-label {
      font-size: 50px; } }
  @media screen and (min-width: 1024px) {
    .b-product-information__grade-label {
      font-size: 50px; } }

.b-product-information__grade-description {
  font-weight: 200;
  margin: 5px 0 0 0; }

.b-product-information__grade-more {
  margin-top: 15px; }

.b-product-information__grade-popup {
  display: none; }

.b-product-information__extra::after {
  clear: both;
  content: "";
  display: table; }

.b-product-information__extra-item {
  width: 55px;
  float: left;
  margin: 0 15px 15px 0; }

.b-product-information__extra-icon {
  display: block; }

.b-product-pdf {
  padding: 21px 13px;
  margin: 15px 0;
  background: rgba(149, 179, 189, 0.5);
  text-align: center; }
  @media screen and (min-width: 768px) {
    .b-product-pdf {
      padding: 30px 13px; } }
  @media screen and (min-width: 960px) {
    .b-product-pdf {
      padding: 30px 13px; } }
  @media screen and (min-width: 1024px) {
    .b-product-pdf {
      padding: 30px 13px; } }

.b-product-pdf__link {
  border: 1px solid #62B0BF;
  color: #62B0BF;
  display: inline-block;
  font-weight: 700;
  padding: 15px 21px;
  line-height: 1; }
  .b-product-pdf__link:after {
    display: inline-block;
    vertical-align: middle;
    content: "";
    font-size: 9px;
    margin-left: 5px;
    color: #62B0BF;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  .no-touchevents .b-product-pdf__link:hover {
    color: #002234;
    border-color: #002234; }

.b-product-related {
  padding-left: 4%;
  padding-right: 4%;
  padding-top: 21px;
  padding-bottom: 21px; }
  @media screen and (min-width: 768px) {
    .b-product-related {
      padding-top: 30px;
      padding-bottom: 30px; } }
  @media screen and (min-width: 960px) {
    .b-product-related {
      padding-top: 45px;
      padding-bottom: 45px; } }
  @media screen and (min-width: 1024px) {
    .b-product-related {
      padding-top: 60px;
      padding-bottom: 60px; } }

.b-product-specs {
  background: #f7f7f7;
  margin-bottom: 15px; }

.b-product-specs__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-product-specs__container::after {
    clear: both;
    content: "";
    display: table; }

.b-product-specs__wrap {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .b-product-specs__wrap {
      padding-top: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-specs__wrap {
      padding-top: 90px; } }
  @media screen and (min-width: 768px) {
    .b-product-specs__wrap {
      padding-bottom: 60px; } }
  @media screen and (min-width: 960px) {
    .b-product-specs__wrap {
      padding-bottom: 90px; } }
  @media screen and (min-width: 1024px) {
    .b-product-specs__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-product-specs__row {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-product-specs__row::after {
    clear: both;
    content: "";
    display: table; }

.b-product-specs__col:first-child {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .b-product-specs__col:first-child {
      margin-bottom: 0; } }

.b-product-specs__col:last-child .b-product-specs__title {
  margin-bottom: 41px; }

@media screen and (min-width: 768px) {
  .b-product-specs__col {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 48.90255%; }
    .b-product-specs__col:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .b-product-specs__col {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 49.45723%; }
    .b-product-specs__col:last-child {
      margin-right: 0; } }

.b-product-specs__title {
  margin-bottom: 21px; }

.b-product-specs__item {
  position: relative;
  min-height: 48px;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .b-product-specs__item {
      margin-bottom: 30px; } }
  @media screen and (min-width: 960px) {
    .b-product-specs__item {
      margin-bottom: 30px; } }
  @media screen and (min-width: 1024px) {
    .b-product-specs__item {
      margin-bottom: 30px; } }
  .b-product-specs__item:last-child {
    margin-bottom: 0; }

.b-product-specs__icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 48px;
  height: 48px; }

.b-product-specs__details {
  padding-left: 63px; }

.b-product-specs__details-title {
  margin: 0;
  font-weight: 700;
  color: #0f4b62;
  font-family: "Brown", sans; }

.b-product-specs__details-content {
  font-weight: 200; }

.b-product-navigation__list {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-product-navigation__list::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 767px) {
    .b-product-navigation__list {
      text-align: center; } }

@media screen and (max-width: 767px) {
  .b-product-navigation__item {
    display: inline-block;
    margin: 0 5px; } }

@media screen and (min-width: 768px) {
  .b-product-navigation__item {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 23.35382%;
    background: #f7f7f7; }
    .b-product-navigation__item:last-child {
      margin-right: 0; } }

.b-product-navigation__title {
  text-align: center;
  margin-bottom: 21px; }

.b-product-navigation__link {
  display: block;
  position: relative;
  color: #0f4b62;
  text-decoration: none; }
  .no-touchevents .b-product-navigation__link:hover {
    color: #082936; }
    @media screen and (max-width: 767px) {
      .no-touchevents .b-product-navigation__link:hover {
        color: #62B0BF; } }
  .no-touchevents .b-product-navigation__link:active {
    color: #01070a; }
    @media screen and (max-width: 767px) {
      .no-touchevents .b-product-navigation__link:active {
        color: #62B0BF; } }
  @media screen and (min-width: 768px) {
    .b-product-navigation__link {
      padding-top: 50%; } }
  @media screen and (min-width: 768px) {
    .b-product-navigation__link:after {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      border-bottom: 5px solid #104E64; }
    .b-product-navigation__link:before {
      top: 100%;
      left: 50%;
      border: solid transparent;
      height: 0;
      width: 0;
      position: absolute;
      pointer-events: none;
      border-top-color: #104E64;
      border-width: 16px;
      margin-left: -16px; }
    .b-product-navigation__link:after,
    .b-product-navigation__link:before {
      content: "";
      z-index: 5;
      opacity: 0;
      visibility: hidden;
      transition: all 400ms ease-in-out 200ms; }
    .is-active.b-product-navigation__link:before,
    .is-active.b-product-navigation__link:after {
      opacity: 1;
      visibility: visible; } }
  @media screen and (max-width: 767px) {
    .is-active.b-product-navigation__link {
      color: #62B0BF; } }
  @media screen and (min-width: 768px) {
    .no-touchevents .b-product-navigation__link:hover .b-product-navigation__label:after {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1; } }

.b-product-navigation__image {
  display: none; }
  @media screen and (min-width: 768px) {
    .b-product-navigation__image {
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      height: auto;
      z-index: 1; } }

.b-product-navigation__label {
  font-family: "Noe Display", sans-serif;
  font-weight: 700;
  z-index: 50;
  font-size: 16px;
  padding-left: 0; }
  @media screen and (min-width: 640px) {
    .b-product-navigation__label {
      font-size: 18px; } }
  @media screen and (min-width: 768px) {
    .b-product-navigation__label {
      font-size: 24px;
      padding-left: 21px; } }
  @media screen and (min-width: 960px) {
    .b-product-navigation__label {
      font-size: 28px;
      padding-left: 30px; } }
  @media screen and (max-width: 767px) {
    .b-product-navigation__label {
      position: relative; }
      .b-product-navigation__label:after {
        position: absolute;
        top: 100%;
        left: 0;
        width: 0;
        height: 2px;
        background: #62B0BF;
        content: "";
        transition: all 200ms ease-in-out; }
      .is-active .b-product-navigation__label:after {
        width: 100%; } }
  @media screen and (min-width: 768px) {
    .b-product-navigation__label {
      position: absolute;
      left: 0;
      top: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .b-product-navigation__label:before {
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        content: "";
        font-family: "icons";
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        speak: none;
        text-transform: none; }
      .b-product-navigation__label:before {
        display: block;
        margin-bottom: 5px;
        -webkit-transform: rotate(0);
                transform: rotate(0);
        transition: all 200ms ease-in-out 100ms;
        font-size: 21;
        width: 21px;
        height: 21px; } }
    @media screen and (min-width: 768px) and (min-width: 768px) {
      .b-product-navigation__label:before {
        font-size: 25px;
        width: 25px;
        height: 25px; } }
    @media screen and (min-width: 768px) and (min-width: 960px) {
      .b-product-navigation__label:before {
        font-size: 27px;
        width: 27px;
        height: 27px; } }
  @media screen and (min-width: 768px) {
      .b-product-navigation__label:after {
        display: inline-block;
        vertical-align: middle;
        content: "";
        font-size: 11px;
        margin-left: 10px;
        color: #62B0BF;
        -webkit-transform: translateX(-10px);
                transform: translateX(-10px);
        opacity: 0;
        transition: all 200ms ease-in-out; } }
  .b-product-navigation__label span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1; }

.b-product-navigation__sub {
  margin-top: 30px;
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 200ms ease-in-out; }
  .is-inited.b-product-navigation__sub {
    height: auto; }

.b-product-navigation-trade {
  transition: all 200ms ease-in-out; }
  .b-product-navigation__sub .b-product-navigation-trade {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    top: 0;
    z-index: 5; }
  .is-hidden.b-product-navigation-trade {
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  .is-active.b-product-navigation-trade {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.b-product-navigation-trade__list {
  overflow: hidden;
  max-height: 100px;
  opacity: 0;
  transition: all 200ms ease-in-out;
  margin-left: -7px;
  margin-right: -7px; }
  .b-product-navigation-trade__list::after {
    clear: both;
    content: "";
    display: table; }
  .slick-initialized.b-product-navigation-trade__list {
    overflow: visible;
    opacity: 1;
    max-height: none; }

.b-product-navigation-trade__item {
  background: #ffffff;
  float: left;
  padding: 0 7px; }

.b-product-navigation-trade__title {
  text-align: center;
  margin-bottom: 21px; }

.b-product-navigation-trade__link {
  display: block;
  position: relative;
  font-weight: 700;
  text-decoration: none; }

.b-product-navigation-trade__image {
  display: block;
  width: 100%; }

.b-product-navigation-trade__label {
  display: block;
  line-height: 2;
  font-size: 12px; }
  @media screen and (min-width: 768px) {
    .b-product-navigation-trade__label {
      font-size: 13px; } }
  @media screen and (min-width: 960px) {
    .b-product-navigation-trade__label {
      font-size: 14px; } }

.b-product-navigation-trade__arrow {
  width: 42px;
  height: 42px;
  display: block;
  position: absolute;
  top: 22%;
  color: #0f4b62;
  display: none; }
  .b-product-navigation-trade__arrow:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  @media screen and (min-width: 1024px) {
    .b-product-navigation-trade__arrow {
      display: block; } }
  .slick-disabled.b-product-navigation-trade__arrow {
    opacity: 0; }
  .b-product-navigation-trade__arrow:before {
    display: block;
    width: 42px;
    height: 42px;
    text-align: center;
    line-height: 42px; }

.b-product-navigation-trade__arrow--next {
  right: -60px; }

.b-product-navigation-trade__arrow--prev {
  left: -60px; }

.b-product-navigation-trade__dots {
  text-align: center;
  display: block;
  line-height: 1;
  margin-top: 21px; }
  .b-product-navigation-trade__dots li {
    display: inline-block;
    padding: 0 5px; }

.b-product-navigation-trade__dot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 14px;
  border: 2px solid #0f4b62;
  text-indent: -9999px;
  cursor: pointer; }
  .slick-active .b-product-navigation-trade__dot {
    background: #0f4b62; }

.b-story-content {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-story-content::after {
    clear: both;
    content: "";
    display: table; }

.b-story-header__content {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #ffffff;
  max-width: 300px;
  padding-top: 170px;
  padding-bottom: 60px; }
  @media screen and (min-width: 768px) {
    .b-story-header__content {
      max-width: 420px;
      padding-top: 70px;
      padding-bottom: 0; } }

.b-story-header__title {
  margin: .5em 0 0 0;
  font-size: 40px;
  opacity: 0; }
  @media screen and (min-width: 768px) {
    .b-story-header__title {
      font-size: 55px; } }
  @media screen and (min-width: 960px) {
    .b-story-header__title {
      font-size: 70px; } }
  .no-js .b-story-header__title {
    opacity: 1; }
  .animate .b-story-header__title {
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }

.b-story-header__subtitle {
  text-transform: uppercase;
  line-height: 1.75;
  font-weight: 200;
  letter-spacing: 4px;
  padding-left: 4px;
  font-size: 16px;
  opacity: 0; }
  @media screen and (min-width: 768px) {
    .b-story-header__subtitle {
      letter-spacing: 6px;
      padding-left: 6px;
      font-size: 18px; } }
  @media screen and (min-width: 960px) {
    .b-story-header__subtitle {
      padding-left: 6px;
      font-size: 20px; } }
  .no-js .b-story-header__subtitle {
    opacity: 1; }
  .animate .b-story-header__subtitle {
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }

.b-story-legal__wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  max-width: 768px;
  margin-top: 30px;
  margin-bottom: 30px; }
  .b-story-legal__wrap::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 768px) {
    .b-story-legal__wrap {
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      box-align: center;
      -webkit-align-items: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -o-align-items: center;
      align-items: center;
      -ms-flex-align: center; } }
  @media screen and (min-width: 768px) {
    .b-story-legal__wrap {
      margin-top: 40px;
      margin-bottom: 40px; } }
  @media screen and (min-width: 960px) {
    .b-story-legal__wrap {
      margin-top: 60px;
      margin-bottom: 60px; } }

@media screen and (max-width: 767px) {
  .b-story-legal__image {
    max-width: 140px;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (min-width: 768px) {
  .b-story-legal__image {
    box-flex: 1;
    -webkit-flex: 1 0 auto;
    -moz-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    width: 25%;
    margin: 0; } }

.b-story-legal__text {
  width: 75%;
  font-weight: 200;
  color: #104E64; }
  @media screen and (min-width: 768px) {
    .b-story-legal__text {
      box-flex: 1;
      -webkit-flex: 1 0 auto;
      -moz-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto;
      padding-left: 21px; } }
  @media screen and (max-width: 767px) {
    .b-story-legal__text {
      max-width: 400px;
      margin-left: auto;
      margin-right: auto;
      text-align: center; } }

.b-page-content {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-page-content::after {
    clear: both;
    content: "";
    display: table; }

.b-page-header__content {
  color: #ffffff;
  font-family: "Noe Display", sans-serif;
  line-height: 1.1;
  max-width: 300px;
  padding-top: 130px;
  font-size: 29px; }
  @media screen and (min-width: 768px) {
    .b-page-header__content {
      max-width: 470px;
      padding-top: 70px;
      font-size: 35px; } }
  @media screen and (min-width: 960px) {
    .b-page-header__content {
      max-width: 520px;
      font-size: 47px; } }
  .no-overlap .b-page-header__content {
    padding-top: 0; }

.b-contact {
  background: rgba(149, 179, 189, 0.3); }

.b-contact__container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-contact__container::after {
    clear: both;
    content: "";
    display: table; }

.b-contact__wrap {
  color: #104E64;
  padding-left: 4%;
  padding-right: 4%;
  padding-top: 40px;
  padding-bottom: 40px; }
  @media screen and (min-width: 1024px) {
    .b-contact__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }
  @media screen and (min-width: 768px) {
    .b-contact__wrap {
      padding-top: 80px;
      padding-bottom: 80px; } }

.b-contact__title {
  font-size: 40px; }
  @media screen and (min-width: 768px) {
    .b-contact__title {
      font-size: 60px; } }

.b-contact-content__story {
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .b-contact-content__story {
      margin-bottom: 45px; } }

.b-contact-details__row {
  margin-bottom: 45px; }
  @media screen and (min-width: 768px) {
    .b-contact-details__row {
      margin-bottom: 60px; } }

.b-contact-details__title {
  text-transform: uppercase;
  font-family: "Brown", sans;
  font-weight: 400;
  margin-bottom: .4em;
  font-size: 20px;
  margin-left: 0; }
  .b-contact-details__title .u-hs {
    font-weight: 200; }
  @media screen and (min-width: 768px) {
    .b-contact-details__title {
      font-size: 20px; } }
  @media screen and (min-width: 960px) {
    .b-contact-details__title {
      margin-left: -30px; } }

.b-contact-details__cols {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .b-contact-details__cols::after {
    clear: both;
    content: "";
    display: table; }

.b-contact-details__col {
  font-weight: 200;
  margin-bottom: 21px;
  font-size: 14px; }
  @media screen and (min-width: 960px) {
    .b-contact-details__col {
      margin-bottom: 0; } }
  @media screen and (min-width: 768px) {
    .b-contact-details__col {
      font-size: 14px; } }
  @media screen and (min-width: 768px) {
    .b-contact-details__col {
      float: left;
      display: block;
      margin-right: 2.19491%;
      width: 48.90255%; }
      .b-contact-details__col:last-child {
        margin-right: 0; }
      .b-contact-details__col:nth-child(2n) {
        margin-right: 0; }
      .b-contact-details__col:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 960px) {
    .b-contact-details__col {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 24.18584%; }
      .b-contact-details__col:nth-child(2n) {
        margin-right: 1.08554%; }
      .b-contact-details__col:nth-child(2n+1) {
        clear: none; }
      .b-contact-details__col:last-child {
        margin-right: 0; } }

.b-contact-details__name {
  font-weight: 700;
  font-family: "Brown", sans;
  margin: 0;
  font-size: 17px; }
  @media screen and (min-width: 768px) {
    .b-contact-details__name {
      font-size: 17px; } }

.b-contact-details__position {
  margin: 0; }

.b-contact-details__email {
  margin: .3em 0;
  font-size: 15px; }
  @media screen and (min-width: 768px) {
    .b-contact-details__email {
      font-size: 15px; } }

.b-contact-details__address {
  margin: .3em 0; }

.b-contact-details__phone {
  margin: .3em 0;
  font-size: 15px; }
  @media screen and (min-width: 768px) {
    .b-contact-details__phone {
      font-size: 15px; } }

.b-related__list {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1056px; }
  .b-related__list::after {
    clear: both;
    content: "";
    display: table; }

.b-related__item {
  background: #f7f7f7; }
  @media screen and (max-width: 767px) {
    .b-related__item {
      margin-left: auto;
      margin-right: auto;
      max-width: 300px;
      margin-bottom: 15px; } }
  @media screen and (min-width: 768px) {
    .b-related__item {
      float: left;
      display: block;
      margin-right: 2.19491%;
      width: 31.87006%; }
      .b-related__item:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 960px) {
    .b-related__item {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 32.60964%; }
      .b-related__item:last-child {
        margin-right: 0; } }

.b-related__title {
  text-align: center;
  margin-bottom: 21px; }

.b-related__link {
  display: block;
  position: relative;
  padding-top: 41%; }
  .no-touchevents .b-related__link:hover .b-related__label:after {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }

.b-related__image {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: auto;
  z-index: 1; }

.b-related__label {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Noe Display", sans-serif;
  font-weight: 700;
  z-index: 50;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 20px;
  padding-left: 15px; }
  @media screen and (min-width: 768px) {
    .b-related__label {
      font-size: 24px;
      padding-left: 21px; } }
  @media screen and (min-width: 960px) {
    .b-related__label {
      font-size: 28px;
      padding-left: 30px; } }
  .b-related__label:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .b-related__label:before {
    display: block;
    margin-bottom: 5px;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    transition: all 200ms ease-in-out 100ms;
    font-size: 21;
    width: 21px;
    height: 21px; }
    @media screen and (min-width: 768px) {
      .b-related__label:before {
        font-size: 25px;
        width: 25px;
        height: 25px; } }
    @media screen and (min-width: 960px) {
      .b-related__label:before {
        font-size: 27px;
        width: 27px;
        height: 27px; } }
  .b-related__label:after {
    display: inline-block;
    vertical-align: middle;
    content: "";
    font-size: 11px;
    margin-left: 10px;
    color: #62B0BF;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
    opacity: 0;
    transition: all 200ms ease-in-out; }
  .b-related__label span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1; }

.b-popup {
  background: #f4f7f8;
  margin: 21px auto;
  position: relative;
  max-width: 800px; }

.b-popup--nutritional {
  max-width: 320px; }

.b-popup--grade {
  max-width: 400px; }

.b-popup__wrap {
  padding: 30px; }
  @media screen and (min-width: 768px) {
    .b-popup__wrap {
      padding: 30px; } }
  @media screen and (min-width: 960px) {
    .b-popup__wrap {
      padding: 30px; } }
  @media screen and (min-width: 1024px) {
    .b-popup__wrap {
      padding: 30px; } }

.b-nutritional-popup__title {
  margin: 0; }

.b-nutritional-popup__description {
  margin-top: 0; }

.b-nutritional-popup__row::after {
  clear: both;
  content: "";
  display: table; }

.b-nutritional-popup__label {
  float: left; }

.b-nutritional-popup__value {
  float: right; }

.b-404 {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  min-height: 400px; }

.b-404__wrap {
  position: absolute;
  z-index: 5;
  text-align: center;
  color: #ffffff;
  padding-left: 4%;
  padding-right: 4%;
  left: 0;
  right: 0;
  top: 20%; }
  @media screen and (min-width: 1024px) {
    .b-404__wrap {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.b-404__image {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1; }

.b-404__title {
  font-family: "Noe Display", sans-serif;
  font-size: 32px; }
  @media screen and (min-width: 768px) {
    .b-404__title {
      font-size: 52px; } }

.b-404__subtitle {
  font-family: "Noe Display", sans-serif;
  font-size: 24px; }
  @media screen and (min-width: 768px) {
    .b-404__subtitle {
      font-size: 36px; } }

.b-404__content {
  margin-top: .5em;
  font-family: "Brown", sans; }
  .no-touchevents .b-404__content a:hover {
    color: #9EB9CB; }

.m-organic__text, .m-full-hero__text, .m-3-4-hero__text, .m-wayfinding__text {
  color: #104E64;
  margin-top: 21px;
  font-size: 15px; }
  @media screen and (min-width: 768px) {
    .m-organic__text, .m-full-hero__text, .m-3-4-hero__text, .m-wayfinding__text {
      margin-top: 21px;
      font-size: 15px; } }
  @media screen and (min-width: 960px) {
    .m-organic__text, .m-full-hero__text, .m-3-4-hero__text, .m-wayfinding__text {
      font-size: 15px; } }
  @media screen and (min-width: 1024px) {
    .m-organic__text, .m-full-hero__text, .m-3-4-hero__text, .m-wayfinding__text {
      font-size: 17px; } }

.m-organic__text {
  font-weight: 200; }

.m-full-hero__title, .m-3-4-hero__title {
  color: #0f4b62;
  margin: 0;
  font-size: 29px; }
  @media screen and (min-width: 960px) {
    .m-full-hero__title, .m-3-4-hero__title {
      font-size: 45px; } }
  @media screen and (min-width: 768px) {
    .m-full-hero__title, .m-3-4-hero__title {
      font-size: 37px; } }

.m-full-hero__subtitle, .m-3-4-hero__subtitle {
  color: #9EB9CB;
  margin: 0;
  font-size: 20px; }
  @media screen and (min-width: 960px) {
    .m-full-hero__subtitle, .m-3-4-hero__subtitle {
      font-size: 30px; } }
  @media screen and (min-width: 768px) {
    .m-full-hero__subtitle, .m-3-4-hero__subtitle {
      font-size: 24px; } }

.m-organic__label-first {
  color: #0f4b62;
  margin: 0;
  font-size: 36px; }
  @media screen and (min-width: 768px) {
    .m-organic__label-first {
      font-size: 44px; } }
  @media screen and (min-width: 960px) {
    .m-organic__label-first {
      font-size: 60px; } }

.m-organic__label-second {
  color: #9EB9CB;
  margin: 0;
  font-size: 24px; }
  @media screen and (min-width: 768px) {
    .m-organic__label-second {
      font-size: 30px; } }
  @media screen and (min-width: 960px) {
    .m-organic__label-second {
      font-size: 36px; } }

.m-product-navigation__title, .m-links-double__title {
  text-align: center;
  color: #104E64;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 21px; }
  @media screen and (min-width: 960px) {
    .m-product-navigation__title, .m-links-double__title {
      font-size: 26px;
      margin-bottom: 30px; } }
  @media screen and (min-width: 768px) {
    .m-product-navigation__title, .m-links-double__title {
      font-size: 22px;
      margin-bottom: 21px; } }
  @media screen and (min-width: 1024px) {
    .m-product-navigation__title, .m-links-double__title {
      margin-bottom: 30px; } }

.m-organic__title, .m-wayfinding__title {
  color: #0f4b62;
  margin: 0;
  font-family: "Brown", sans;
  font-size: 19px; }
  @media screen and (min-width: 960px) {
    .m-organic__title, .m-wayfinding__title {
      font-size: 20px; } }
  @media screen and (min-width: 1024px) {
    .m-organic__title, .m-wayfinding__title {
      font-size: 22px; } }

.m-full-hero__arrow, .m-3-4-hero__arrow {
  display: block;
  text-align: center;
  cursor: pointer;
  margin-top: 15px; }
  .m-full-hero__arrow:before, .m-3-4-hero__arrow:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .m-full-hero__arrow:before, .m-3-4-hero__arrow:before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    display: inline-block;
    color: #9EB9CB;
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 14px; }
    @media screen and (min-width: 960px) {
      .m-full-hero__arrow:before, .m-3-4-hero__arrow:before {
        width: 44px;
        height: 44px;
        line-height: 44px;
        font-size: 18px; } }
  @media screen and (min-width: 768px) {
    .m-full-hero__arrow, .m-3-4-hero__arrow {
      margin-top: 15px; } }
  @media screen and (min-width: 960px) {
    .m-full-hero__arrow, .m-3-4-hero__arrow {
      margin-top: 30px; } }

.m-full-hero__image, .m-3-4-hero__image, .m-intro-news__image, .m-intro__image, .m-organic__image, .m-wayfinding__image, .m-links-double__image {
  width: 100%; }

.m-intro-news__label, .m-intro__label {
  text-transform: uppercase;
  color: #9EB9CB;
  letter-spacing: 3px;
  font-size: 13px;
  margin-top: 13px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__label, .m-intro__label {
      font-size: 14px;
      margin-top: 15px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__label, .m-intro__label {
      font-size: 16px;
      margin-top: 21px; } }

.m-links-double__label {
  display: inline-block;
  font-weight: 700;
  padding: 10px 15px;
  line-height: 1; }
  @media screen and (min-width: 768px) {
    .m-links-double__label {
      padding: 13px 21px; } }
  .m-links-double__label:after {
    display: inline-block;
    vertical-align: middle;
    content: "";
    font-size: 9px;
    margin-left: 5px; }

.m-links-double__label {
  border: 1px solid #ffffff;
  color: #ffffff;
  font-size: 14px; }
  @media screen and (min-width: 768px) {
    .m-links-double__label {
      font-size: 16px; } }
  @media screen and (min-width: 960px) {
    .m-links-double__label {
      font-size: 20px; } }

.m-product-navigation {
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .m-product-navigation {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.m-full-hero__wrap {
  background-color: #ebebeb;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .m-full-hero__wrap::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 768px) {
    .m-full-hero__wrap {
      min-height: 550px; } }

.m-full-hero__content {
  padding-top: 60px;
  padding-bottom: 60px;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .m-full-hero__content {
      padding-top: 80px;
      padding-bottom: 80px;
      width: 40%; } }
  @media screen and (min-width: 960px) {
    .m-full-hero__content {
      padding-top: 100px;
      padding-bottom: 100px;
      width: 25.27139%; } }
  @media screen and (min-width: 1024px) {
    .m-full-hero__content {
      padding-top: 120px;
      padding-bottom: 120px; } }

.m-full-hero__content--left {
  margin-left: 0;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .m-full-hero__content--left {
      margin-left: 4%;
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (min-width: 960px) {
    .m-full-hero__content--left {
      margin-left: 8.4238%; } }

.m-full-hero__content--right {
  float: right;
  margin-right: 0;
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 768px) {
    .m-full-hero__content--right {
      margin-right: 4%;
      padding-left: 0;
      padding-right: 0; } }
  @media screen and (min-width: 960px) {
    .m-full-hero__content--right {
      margin-right: 8.4238%; } }

.m-full-hero__fig {
  margin: 0; }

@media screen and (max-width: 959px) {
  .m-3-4-hero {
    padding-left: 4%;
    padding-right: 4%; } }

.m-3-4-hero__wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .m-3-4-hero__wrap::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (min-width: 768px) {
  .m-3-4-hero__content {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 40.3863%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .m-3-4-hero__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-3-4-hero__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 41.03343%; }
    .m-3-4-hero__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 1024px) {
  .m-3-4-hero__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 32.60964%; }
    .m-3-4-hero__content:last-child {
      margin-right: 0; } }

.m-3-4-hero__content--left {
  right: 0;
  padding-left: 0;
  padding-right: 0; }
  @media screen and (min-width: 768px) {
    .m-3-4-hero__content--left {
      padding-left: 4%;
      padding-right: 4%; } }
  @media screen and (min-width: 1024px) {
    .m-3-4-hero__content--left {
      padding-left: 15px;
      padding-right: 8.4238%; } }

.m-3-4-hero__content--right {
  left: 0;
  padding-right: 0;
  padding-left: 0; }
  @media screen and (min-width: 768px) {
    .m-3-4-hero__content--right {
      padding-right: 4%;
      padding-left: 4%; } }
  @media screen and (min-width: 1024px) {
    .m-3-4-hero__content--right {
      padding-right: 15px;
      padding-left: 8.4238%; } }

.m-3-4-hero__fig {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 39%;
  position: relative;
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  margin-bottom: 21px;
  padding-top: 50%; }
  @media screen and (min-width: 640px) {
    .m-3-4-hero__fig {
      margin-bottom: 30px; } }
  @media screen and (min-width: 768px) {
    .m-3-4-hero__fig {
      padding-top: 39%;
      margin-bottom: 0;
      float: left;
      display: block;
      margin-right: 2.19491%;
      width: 57.41879%; }
      .m-3-4-hero__fig:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 960px) {
    .m-3-4-hero__fig {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 57.88102%; }
      .m-3-4-hero__fig:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 1024px) {
    .m-3-4-hero__fig {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 66.30482%; }
      .m-3-4-hero__fig:last-child {
        margin-right: 0; } }

@media screen and (min-width: 768px) {
  .m-3-4-hero__fig--left {
    float: left; } }

.m-3-4-hero__fig--right {
  margin-right: 0; }
  @media screen and (min-width: 768px) {
    .m-3-4-hero__fig--right {
      float: right; } }

.m-intro-news {
  padding-left: 4%;
  padding-right: 4%; }
  @media screen and (min-width: 1024px) {
    .m-intro-news {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

.m-intro-news__title {
  color: #104E64;
  font-weight: 700;
  padding-left: 8.4238%;
  margin: 0;
  line-height: 1.3;
  font-size: 21px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__title {
      font-size: 29px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__title {
      font-size: 35px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__title {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 66.30482%; }
      .m-intro-news__title:last-child {
        margin-right: 0; } }

.m-intro-news__title-wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 5; }
  .m-intro-news__title-wrap::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (max-width: 959px) {
  .m-intro-news__label {
    position: absolute;
    top: 100%;
    right: 0; } }

.m-intro-news__fig {
  margin: 0; }

.m-intro-news__wrap {
  position: relative;
  top: -42px;
  margin-bottom: -42px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .m-intro-news__wrap {
      top: -55px;
      margin-bottom: -55px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__wrap {
      top: -70px;
      margin-bottom: -70px; } }
  .m-intro-news__wrap::after {
    clear: both;
    content: "";
    display: table; }

.m-intro-news__content {
  position: relative; }
  @media screen and (min-width: 960px) {
    .m-intro-news__content {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 66.30482%; }
      .m-intro-news__content:last-child {
        margin-right: 0; } }

.m-intro-news__news {
  color: #9EB9CB;
  position: relative;
  padding-left: 21px;
  padding-top: 21px; }
  @media screen and (max-width: 959px) {
    .m-intro-news__news {
      margin-top: 21px;
      max-width: 300px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__news {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 32.60964%; }
      .m-intro-news__news:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 768px) {
    .m-intro-news__news {
      padding-left: 21px;
      padding-top: 21px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__news {
      padding-left: 45px;
      padding-top: 30px; } }
  @media screen and (min-width: 1024px) {
    .m-intro-news__news {
      padding-left: 60px;
      padding-top: 45px; } }
  @media screen and (max-width: 325px) {
    .m-intro-news__news {
      margin-top: 50px; } }

.m-intro-news__news-line {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #9EB9CB;
  opacity: .8;
  left: 0; }
  @media screen and (min-width: 768px) {
    .m-intro-news__news-line {
      left: 0; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__news-line {
      left: 21px; } }
  @media screen and (min-width: 1024px) {
    .m-intro-news__news-line {
      left: 30px; } }

.m-intro-news__news-wrap {
  max-width: 270px; }

.m-intro-news__news-label1 {
  font-weight: 700;
  display: block;
  font-size: 15px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__news-label1 {
      font-size: 17px; } }

.m-intro-news__news-label2 {
  display: block;
  font-size: 15px;
  margin-bottom: 18px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__news-label2 {
      font-size: 17px;
      margin-bottom: 24px; } }

.m-intro-news__news-label3 {
  display: block;
  font-family: "Noe Display", sans-serif;
  margin: 0;
  line-height: .75;
  letter-spacing: -0.05em;
  font-size: 90px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__news-label3 {
      font-size: 100px; } }
  @media screen and (min-width: 960px) {
    .m-intro-news__news-label3 {
      font-size: 110px; } }
  @media screen and (min-width: 1024px) {
    .m-intro-news__news-label3 {
      font-size: 120px; } }

.m-intro-news__news-content {
  font-weight: 200;
  line-height: 1.25;
  font-size: 14px; }
  @media screen and (min-width: 768px) {
    .m-intro-news__news-content {
      font-size: 15px; } }

.m-intro {
  padding-left: 4%;
  padding-right: 4%;
  background-repeat: no-repeat;
  background-position: -1000% -1000%; }
  @media screen and (min-width: 1024px) {
    .m-intro {
      padding-left: 8.4238%;
      padding-right: 8.4238%; } }

@media screen and (min-width: 960px) {
  .m-intro--left {
    background-position: 100% 50%; } }

@media screen and (min-width: 960px) {
  .m-intro--right {
    background-position: 0% 50%; } }

.m-intro__title {
  color: #104E64;
  font-weight: 700;
  padding-left: 8.4238%;
  margin: 0;
  line-height: 1.3;
  font-size: 21px; }
  @media screen and (min-width: 768px) {
    .m-intro__title {
      font-size: 29px; } }
  @media screen and (min-width: 960px) {
    .m-intro__title {
      font-size: 35px; } }
  @media screen and (min-width: 960px) {
    .m-intro__title {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 66.30482%; }
      .m-intro__title:last-child {
        margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-intro__title--right {
    margin-left: 33.69518%; } }

.m-intro__title-wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 5; }
  .m-intro__title-wrap::after {
    clear: both;
    content: "";
    display: table; }

.m-intro__label--right {
  text-align: right;
  margin-right: -3px; }

.m-intro__fig {
  margin: 0; }

.m-intro__wrap {
  position: relative;
  top: -42px;
  margin-bottom: -42px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .m-intro__wrap {
      top: -55px;
      margin-bottom: -55px; } }
  @media screen and (min-width: 960px) {
    .m-intro__wrap {
      top: -70px;
      margin-bottom: -70px; } }
  .m-intro__wrap::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (min-width: 960px) {
  .m-intro__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 66.30482%; }
    .m-intro__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-intro__content--right {
    margin-left: 33.69518%; } }

.m-organic {
  position: relative; }
  @media screen and (max-width: 1023px) {
    .m-organic {
      padding-left: 4%;
      padding-right: 4%; } }

.m-organic__wrap {
  position: relative; }
  .m-organic__wrap::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 1024px) {
    .m-organic__wrap {
      height: 0;
      padding-top: 56%; } }

.m-organic__side {
  color: #9EB9CB;
  border-left: 2px solid rgba(158, 185, 203, 0.8);
  padding-left: 15px;
  width: 60%;
  padding-right: 13px;
  margin-bottom: 10px;
  max-width: 200px;
  float: left;
  padding-top: 30px; }
  @media screen and (min-width: 640px) {
    .m-organic__side {
      width: auto;
      padding-right: 0;
      padding-top: 45px; } }
  @media screen and (min-width: 1024px) {
    .m-organic__side {
      max-width: 100%;
      position: absolute;
      top: 0;
      z-index: 5;
      padding-top: 30px;
      width: 22%; } }
  @media screen and (min-width: 1200px) {
    .m-organic__side {
      padding-top: 45px;
      width: 18%; } }
  @media screen and (min-width: 1300px) {
    .m-organic__side {
      padding-top: 60px;
      width: 18%; } }

@media screen and (min-width: 1024px) {
  .m-organic__side--left {
    right: 8.4238%; } }

@media screen and (min-width: 1024px) {
  .m-organic__side--right {
    left: 8.4238%; } }

.m-organic__side-label {
  line-height: .8;
  margin: 0;
  font-size: 50px; }
  @media screen and (min-width: 640px) {
    .m-organic__side-label {
      font-size: 70px; } }
  @media screen and (min-width: 960px) {
    .m-organic__side-label {
      font-size: 70px; } }
  @media screen and (min-width: 1024px) {
    .m-organic__side-label {
      font-size: 90px; } }
  @media screen and (min-width: 1300px) {
    .m-organic__side-label {
      font-size: 96px; } }

.m-organic__side-description {
  font-size: 13px; }
  @media screen and (min-width: 640px) {
    .m-organic__side-description {
      font-size: 14px; } }

.m-organic__labels {
  margin-top: 21px; }
  @media screen and (min-width: 640px) {
    .m-organic__labels {
      margin-top: 0;
      z-index: 5;
      position: absolute;
      top: auto;
      bottom: 0;
      width: auto; } }

@media screen and (min-width: 1024px) {
  .m-organic__labels--left {
    left: 8.4238%; } }

@media screen and (min-width: 1024px) {
  .m-organic__labels--right {
    right: 8.4238%; } }

@media screen and (min-width: 640px) {
  .m-organic__content {
    width: 41.03343%;
    float: left;
    padding-bottom: 90px;
    margin-top: 21px; } }

@media screen and (min-width: 768px) {
  .m-organic__content {
    padding-bottom: 120px; } }

@media screen and (min-width: 1024px) {
  .m-organic__content {
    margin-top: 0;
    padding-bottom: 0;
    width: 24.18584%;
    position: absolute;
    bottom: 29%;
    z-index: 999; } }

@media screen and (min-width: 1024px) {
  .m-organic__content--left {
    left: 8.4238%;
    padding-right: 15px; } }

@media screen and (min-width: 1200px) {
  .m-organic__content--left {
    padding-right: 45px; } }

@media screen and (min-width: 1024px) {
  .m-organic__content--right {
    right: 8.4238%;
    padding-left: 15px; } }

@media screen and (min-width: 1200px) {
  .m-organic__content--right {
    padding-left: 45px; } }

@media screen and (max-width: 340px) {
  .m-organic__title {
    display: inline-block; } }

.m-organic__fig-wide {
  margin: 0 0 21px; }
  @media screen and (min-width: 640px) {
    .m-organic__fig-wide {
      margin: 0;
      width: 49.45723%;
      float: right; } }
  @media screen and (min-width: 1024px) {
    .m-organic__fig-wide {
      width: 32.60964%;
      position: absolute;
      z-index: 5;
      bottom: 29%;
      top: auto;
      left: 33.69518%; } }

@media screen and (max-width: 1023px) {
  .m-organic__fig-tall {
    display: none; } }

@media screen and (min-width: 1024px) {
  .m-organic__fig-tall {
    margin: 0;
    position: absolute;
    z-index: 5;
    width: 24.18584%;
    bottom: 60px; } }

@media screen and (min-width: 1024px) {
  .m-organic__fig-tall--left {
    right: 8.4238%; } }

@media screen and (min-width: 1024px) {
  .m-organic__fig-tall--right {
    left: 8.4238%; } }

.m-copy-hero-center__wrap {
  position: relative;
  background-color: #ebebeb;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 10% 0; }
  .m-copy-hero-center__wrap::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (max-width: 767px) {
  .m-copy-hero-center__content {
    padding-left: 8%;
    padding-right: 8%; } }

@media screen and (min-width: 768px) {
  .m-copy-hero-center__content {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 65.93503%;
    margin-left: 17.03248%; }
    .m-copy-hero-center__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-copy-hero-center__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 57.88102%;
    margin-left: 21.05949%; }
    .m-copy-hero-center__content:last-child {
      margin-right: 0; } }

.m-copy-hero-center__text {
  color: #ffffff;
  font-family: "Noe Display", sans-serif;
  font-size: 24px; }
  @media screen and (min-width: 768px) {
    .m-copy-hero-center__text {
      font-size: 28px; } }
  @media screen and (min-width: 960px) {
    .m-copy-hero-center__text {
      font-size: 32px; } }
  .m-copy-hero-center__text p {
    margin-top: .5em;
    margin-bottom: .5em; }
    .m-copy-hero-center__text p:first-child {
      margin-top: 0; }
    .m-copy-hero-center__text p:last-child {
      margin-bottom: 0; }

@media screen and (max-width: 959px) {
  .m-wayfinding {
    padding-left: 4%;
    padding-right: 4%; } }

.m-wayfinding__wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .m-wayfinding__wrap::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (max-width: 959px) {
  .m-wayfinding__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 49.45723%; }
    .m-wayfinding__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-wayfinding__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 32.60964%; }
    .m-wayfinding__content:last-child {
      margin-right: 0; } }

@media screen and (max-width: 767px) {
  .m-wayfinding__content {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
    .m-wayfinding__content:last-child {
      margin-right: 0; } }

@media screen and (min-width: 768px) {
  .m-wayfinding__content {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 5;
    margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-wayfinding__content--left {
    margin-left: 58.96657%; } }

@media screen and (max-width: 959px) {
  .m-wayfinding__content--left {
    margin-left: 50.54277%; } }

@media screen and (max-width: 767px) {
  .m-wayfinding__content--left {
    margin-left: 0%; } }

@media screen and (min-width: 960px) {
  .m-wayfinding__content--right {
    margin-left: 8.4238%; } }

@media screen and (max-width: 767px) {
  .m-wayfinding__content--right {
    margin-left: 0%; } }

.m-wayfinding__fig {
  margin: 0;
  position: relative;
  background-color: #f7f7f7;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%; }
  @media screen and (max-width: 959px) {
    .m-wayfinding__fig {
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 57.88102%;
      padding-top: 42%; }
      .m-wayfinding__fig:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 960px) {
    .m-wayfinding__fig {
      padding-top: 32%;
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 57.88102%; }
      .m-wayfinding__fig:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 767px) {
    .m-wayfinding__fig {
      padding-top: 36%;
      float: left;
      display: block;
      margin-right: 1.08554%;
      width: 100%;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 21px; }
      .m-wayfinding__fig:last-child {
        margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-wayfinding__fig--left {
    margin-left: 8.4238%; } }

@media screen and (max-width: 767px) {
  .m-wayfinding__fig--left {
    margin-left: 0%; } }

@media screen and (max-width: 959px) {
  .m-wayfinding__fig--right {
    margin-left: 42.11898%; } }

@media screen and (min-width: 960px) {
  .m-wayfinding__fig--right {
    margin-right: 0;
    margin-left: 33.69518%; } }

@media screen and (max-width: 767px) {
  .m-wayfinding__fig--right {
    margin-left: 0%; } }

.m-wayfinding__button-wrap {
  margin-top: 15px; }
  @media screen and (min-width: 960px) {
    .m-wayfinding__button-wrap {
      margin-top: 21px; } }

.m-wayfinding__button {
  border: 1px solid #9EB9CB;
  color: #9EB9CB;
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  padding: 13px 21px;
  line-height: 1;
  transition: all ease-in-out 200ms; }
  @media screen and (min-width: 768px) {
    .m-wayfinding__button {
      font-size: 14px; } }
  @media screen and (min-width: 960px) {
    .m-wayfinding__button {
      font-size: 14px; } }
  @media screen and (min-width: 1024px) {
    .m-wayfinding__button {
      font-size: 16px; } }
  .m-wayfinding__button:after {
    display: inline-block;
    vertical-align: middle;
    content: "";
    font-size: 9px;
    margin-left: 5px;
    color: #9EB9CB;
    transition: color ease-in-out 200ms, -webkit-transform ease-in-out 200ms 200ms;
    transition: color ease-in-out 200ms, transform ease-in-out 200ms 200ms; }
  .no-touchevents .m-wayfinding__button:hover {
    color: #002234;
    border-color: #002234; }
    .no-touchevents .m-wayfinding__button:hover:after {
      color: #002234;
      -webkit-transform: translateX(5px);
              transform: translateX(5px); }

@media screen and (max-width: 639px) {
  .m-links-double {
    padding-left: 4%;
    padding-right: 4%; } }

.m-links-double__wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .m-links-double__wrap::after {
    clear: both;
    content: "";
    display: table; }

.m-links-double__fig {
  margin: 0; }

.m-links-double__links {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .m-links-double__links::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (max-width: 639px) {
  .m-links-double__item {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px; } }

@media screen and (min-width: 640px) {
  .m-links-double__item {
    float: left;
    display: block;
    margin-right: 2.19491%;
    width: 48.90255%; }
    .m-links-double__item:last-child {
      margin-right: 0; } }

@media screen and (min-width: 960px) {
  .m-links-double__item {
    float: left;
    display: block;
    margin-right: 1.08554%;
    width: 41.03343%; }
    .m-links-double__item:last-child {
      margin-right: 0; }
    .m-links-double__item:first-child {
      margin-left: 8.4238%; } }

.m-links-double__link {
  display: block;
  position: relative; }
  .no-touchevents .m-links-double__link:hover .m-links-double__label {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1); }
    .no-touchevents .m-links-double__link:hover .m-links-double__label:after {
      -webkit-transform: translateX(5px);
              transform: translateX(5px); }

.m-links-double__label-wrap {
  text-align: center;
  left: 0;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  z-index: 5; }

.m-links-double__label {
  transition: all ease-in-out 200ms; }
  .m-links-double__label:after {
    transition: -webkit-transform ease-in-out 200ms;
    transition: transform ease-in-out 200ms; }

.m-sticky-nav__wrap {
  background: #ebebeb;
  padding: 21px 0; }

.m-sticky-nav__links {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .m-sticky-nav__links::after {
    clear: both;
    content: "";
    display: table; }

.m-sticky-nav__item {
  float: left;
  display: block;
  margin-right: 1.08554%;
  width: 49.45723%; }
  .m-sticky-nav__item:last-child {
    margin-right: 0; }
  .m-sticky-nav__item:first-child {
    text-align: right; }

.m-sticky-nav__link {
  display: inline-block;
  background: transparent;
  border: 1px solid #104E64;
  color: #104E64;
  font-weight: 700;
  line-height: 1;
  font-size: 13px;
  padding: 5px 30px; }
  @media screen and (min-width: 768px) {
    .m-sticky-nav__link {
      font-size: 17px;
      padding: 10px 60px; } }
  .no-touchevents .m-sticky-nav__link:hover {
    color: #104E64; }
  .is-active.m-sticky-nav__link {
    background: #104E64;
    color: #ffffff; }
    .no-touchevents .is-active.m-sticky-nav__link:hover {
      color: #ffffff; }

.m-tab {
  display: none; }
  .is-active.m-tab {
    display: block; }

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #fff;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }
  .mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom {
  cursor: pointer; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 50px;
  height: 50px;
  opacity: .7;
  position: absolute;
  right: 0;
  top: 0; }
  .mfp-close:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    content: "";
    font-family: "icons";
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none; }
  .mfp-close:before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    text-align: center;
    color: #95b3bd;
    text-align: center;
    line-height: 50px;
    width: 50px;
    height: 50px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    font-size: 25px; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  padding: 0;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  width: 30px;
  height: 48px;
  margin-top: -24px; }
  @media screen and (min-width: 768px) {
    .mfp-arrow {
      width: 40px;
      height: 60px;
      margin-top: -30px; } }
  @media screen and (min-width: 960px) {
    .mfp-arrow {
      width: 50px;
      height: 90px;
      margin-top: -45px; } }
  @media screen and (min-width: 1024px) {
    .mfp-arrow {
      width: 60px;
      height: 130px;
      margin-top: -65px; } }
  .mfp-arrow svg {
    width: 18px;
    height: 130px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -9px;
    margin-top: -65px; }
    .mfp-arrow svg g {
      fill: #fff; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-right {
  right: 0; }

.mfp-iframe-holder {
  padding: 0;
  border: 15px solid #ffffff; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    height: 100%; }

.mfp-iframe-scaler {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }
  .slick-track:before,
  .slick-track:after {
    display: table;
    content: ''; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  outline: none; }
  .slick-slide img {
    outline: none;
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5zY3NzIiwidmVuZG9ycy9uZWF0L2dyaWQvX2JveC1zaXppbmcuc2NzcyIsImdlbmVyYXRlZC9faWNvbnMuc2NzcyIsInV0aWxzL2V4dGVuZHMvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsInV0aWxzL2V4dGVuZHMvX2xpbmtzLnNjc3MiLCJ1dGlscy9taXhpbnMvX2V4dHJhcy5zY3NzIiwidXRpbHMvZXh0ZW5kcy9fdGV4dHMuc2NzcyIsInV0aWxzL21peGlucy9fcmVuZGVycy5zY3NzIiwidmVuZG9ycy9uZWF0L2dyaWQvX21lZGlhLnNjc3MiLCJ1dGlscy9leHRlbmRzL19sYXlvdXRzLnNjc3MiLCJ2ZW5kb3JzL25lYXQvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwidmVuZG9ycy9uZWF0L2dyaWQvX291dGVyLWNvbnRhaW5lci5zY3NzIiwidmVuZG9ycy9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInV0aWxzL2V4dGVuZHMvX3RpdGxlcy5zY3NzIiwidXRpbHMvZXh0ZW5kcy9faGVyby5zY3NzIiwidXRpbHMvbWl4aW5zL19sYXlvdXRzLnNjc3MiLCJ1dGlscy9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3JzL2JvdXJib24vY3NzMy9fZmxleC1ib3guc2NzcyIsInZlbmRvcnMvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJ2ZW5kb3JzL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwidmVuZG9ycy9ib3VyYm9uL2hlbHBlcnMvX2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uLnNjc3MiLCJiYXNlL19yZXNldC5zY3NzIiwidmVuZG9ycy9ib3VyYm9uL2NzczMvX3NlbGVjdGlvbi5zY3NzIiwiYmFzZS9fY29udGVudC5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImJhc2UvX3RhYmxlcy5zY3NzIiwiYmFzZS9fYW5pbWF0aW9ucy5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsInV0aWxzL21peGlucy9fZWxlbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX3RpdGxlLnNjc3MiLCJjb21wb25lbnRzL19oZWxwZXJzLnNjc3MiLCJibG9ja3MvX2hlYWRlci5zY3NzIiwiYmxvY2tzL19oZWFkZXItbmF2LnNjc3MiLCJibG9ja3MvX2hlYWRlci1uYXYtc3ViLnNjc3MiLCJibG9ja3MvX2Zvb3Rlci5zY3NzIiwiYmxvY2tzL19mb290ZXItbmF2LnNjc3MiLCJibG9ja3MvX29mZmNhbnZhcy5zY3NzIiwiYmxvY2tzL19tb2R1bGUuc2NzcyIsImJsb2Nrcy9fY29udGVudC5zY3NzIiwiYmxvY2tzL19wcmVsb2FkZXIuc2NzcyIsImJsb2Nrcy9faG9tZS1oZXJvLnNjc3MiLCJibG9ja3MvX3Byb2R1Y3Quc2NzcyIsImJsb2Nrcy9fcHJvZHVjdC1jb250ZW50LnNjc3MiLCJ2ZW5kb3JzL25lYXQvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCJibG9ja3MvX3Byb2R1Y3QtaGVhZGVyLnNjc3MiLCJibG9ja3MvX3Byb2R1Y3QtaW5mb3JtYXRpb24uc2NzcyIsInZlbmRvcnMvbmVhdC9ncmlkL19vbWVnYS5zY3NzIiwidmVuZG9ycy9uZWF0L2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwiYmxvY2tzL19wcm9kdWN0LXBkZi5zY3NzIiwiYmxvY2tzL19wcm9kdWN0LXJlbGF0ZWQuc2NzcyIsImJsb2Nrcy9fcHJvZHVjdC1zcGVjcy5zY3NzIiwiYmxvY2tzL19wcm9kdWN0LW5hdmlnYXRpb24uc2NzcyIsImJsb2Nrcy9fcHJvZHVjdC1uYXZpZ2F0aW9uLXRyYWRlLnNjc3MiLCJibG9ja3MvX3N0b3J5LWNvbnRlbnQuc2NzcyIsImJsb2Nrcy9fc3RvcnktaGVhZGVyLnNjc3MiLCJibG9ja3MvX3N0b3J5LWxlZ2FsLnNjc3MiLCJibG9ja3MvX3BhZ2UtY29udGVudC5zY3NzIiwiYmxvY2tzL19wYWdlLWhlYWRlci5zY3NzIiwiYmxvY2tzL19jb250YWN0LnNjc3MiLCJibG9ja3MvX2NvbnRhY3QtY29udGVudC5zY3NzIiwiYmxvY2tzL19jb250YWN0LWRldGFpbHMuc2NzcyIsImJsb2Nrcy9fcmVsYXRlZC5zY3NzIiwiYmxvY2tzL19wb3B1cC5zY3NzIiwiYmxvY2tzL19udXRyaXRpb25hbC1wb3B1cC5zY3NzIiwiYmxvY2tzL180MDQuc2NzcyIsIm1vZHVsZXMvX2V4dGVuZHMuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3QtbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fZnVsbC1oZXJvLnNjc3MiLCJtb2R1bGVzL18zLTQtaGVyby5zY3NzIiwibW9kdWxlcy9faW50cm8tbmV3cy5zY3NzIiwibW9kdWxlcy9faW50cm8uc2NzcyIsInZlbmRvcnMvbmVhdC9ncmlkL19zaGlmdC5zY3NzIiwibW9kdWxlcy9fb3JnYW5pYy5zY3NzIiwibW9kdWxlcy9fY29weS1oZXJvLWNlbnRlci5zY3NzIiwibW9kdWxlcy9fd2F5ZmluZGluZy5zY3NzIiwibW9kdWxlcy9fbGlua3MtZG91YmxlLnNjc3MiLCJtb2R1bGVzL19zdGlja3ktbmF2LnNjc3MiLCJtb2R1bGVzL190YWIuc2NzcyIsImxpYnMvX21hZ25pZmljLnNjc3MiLCJsaWJzL19zbGljay5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtrQ0FDa0M7QUNFaEMsSUFBSSxDQUFDO0VBQ0gsVUFBVSxFQUFFLFVBQVcsR0FEbkI7O0FBT0gsQ0FBQztBQUNOLENBQUMsT0FBTztBQUNSLENBQUMsUUFBUSxDQUZLO0VBQ1IsVUFBVSxFQUFFLE9BQVEsR0FEWDs7QUNSZixVQUFVO0VBQ1IsV0FBVyxFQUFFLEtBQU07RUFDbkIsR0FBRyxFQUFFLHlCQUFHO0VBQ1IsR0FBRyxFQUFFLGdDQUFHLENBQThCLDJCQUFNLEVBQXVCLDBCQUFHLENBQXdCLGNBQU0sRUFBVSx5QkFBRyxDQUF1QixrQkFBTSxF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LENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUEsSUFBQyxFQUFNLE9BQU8sRUFBRSxRQUFRLE9BQU87RUFDN2IsTUFBTSxPQUFPLENBREY7SUFDUCxLQUFLLEV2QnNJd0IsS0FBSyxHdUJ2STFCO0VBR1QsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLEtBQUssQ0FBQSxJQUFDLEVBQU0sTUFBTSxFQUFFLFFBQVEsTUFBTTtFQUM3YSxNQUFNLE1BQU0sQ0FERjtJQUNOLEtBQUssRXZCb0l3QixLQUFLLEd1QnJJM0I7RUFHUixLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssS0FBSyxDQUFBLElBQUMsRUFBTSxNQUFNLEVBQUUsUUFBUSxNQUFNO0VBQzdhLE1BQU0sTUFBTSxDQURGO0lBQ04sS0FBSyxFdkJrSXdCLElBQUksR3VCbkkxQjtFQUdSLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUEsSUFBQyxFQUFNLE9BQU8sRUFBRSxRQUFRLE9BQU87RUFDN2IsTUFBTSxPQUFPLENBREY7SW5CeEJMLE1BQVksRUFBQSxJQUFDLEdtQndCUDtJbEJhUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01rQmI3QixLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLGdCQUFMLEFBQXFCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssUUFBTCxBQUFhLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssS0FBTCxBQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssS0FBSyxDQUFBLElBQUMsRUFBTSxPQUFPLEVBQUUsUUFBUSxPQUFPO01BQzdiLE1BQU0sT0FBTyxDQURGO1FuQllILE1BQVksRUFBQSxJQUFDLEdtQlpUO0VBVVQsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE9BQUwsQUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFVBQUwsQUFBZSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQSxJQUFDLEVBQU0sT0FBTyxFQUFFLFFBQVEsT0FBTztFQUM3YixNQUFNLE9BQU8sQ0FERjtJbkJsQ0wsTUFBWSxFQUFBLElBQUMsR21Ca0NQO0lsQkdSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TWtCSDdCLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQSxJQUFDLENBQUssZ0JBQUwsQUFBcUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxVQUFMLEFBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxLQUFMLEFBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUEsSUFBQyxFQUFNLE9BQU8sRUFBRSxRQUFRLE9BQU87TUFDN2IsTUFBTSxPQUFPLENBREY7UW5CRUgsTUFBWSxFQUFBLElBQUMsR21CRlQ7O0FBVVgsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLE1BQUwsQUFBVyxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxnQkFBTCxBQUFxQixHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssT0FBTCxBQUFZLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxPQUFMLEFBQVksR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLFFBQUwsQUFBYSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssVUFBTCxBQUFlLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxRQUFMLEFBQWEsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLEdBQUcsS0FBSyxDQUFBLElBQUMsQ0FBSyxNQUFMLEFBQVcsR0FBRyxLQUFLLENBQUEsSUFBQyxDQUFLLEtBQUwsQUFBVSxHQUFHLEtBQUssQ0FBQSxJQUFDLENBQUssTUFBTCxBQUFXLEdBQUcsS0FBSyxLQUFLLENBQUEsSUFBQyxJQUFRLFFBQVEsQ0FFMVU7RUFDQyxLQUFLLEV2QnhEZSxPQUFPO0V1QnlEM0IsVUFBVSxFdkJ2RFUsT0FBTztFdUJ3RDNCLE1BQU0sRXZCbUVjLEdBQUcsQ0FHSCxLQUFLLENBaElMLE9BQU87RXVCMkQzQixVQUFVLEV2QmdGcUIsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0V1Qi9FbEQsWUFBWSxFdkJxREMsSUFBSTtFdUJwRGpCLGFBQWEsRXZCb0RBLElBQUksR3VCMURqQjs7QUFVYSxNQUFNLENBQUEsUUFBQyxFQUFMO0VuQnhEWCxNQUFZLEVBQUEsSUFBQyxHbUJ3REQ7RWxCbkJkLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtCbUJqQixNQUFNLENBQUEsUUFBQyxFQUFMO01uQnBCVCxNQUFZLEVBQUEsS0FBQyxHbUJvQkg7RUFTaEIsTUFBTSxDQUFBLFFBQUMsRUFBVSxNQUFNLENBQWhCO0lBQ0wsT0FBTyxFdkJvQ0ksR0FBRyxHdUJyQ1I7O0FBS1YsUUFBUSxDQUFDO0VuQnRFSCxNQUFZLEVBQUEsSUFBQztFQUFiLFdBQVksRUFBQSxJQUFDO0VBQWIsY0FBWSxFQUFBLElBQUMsR21Cc0VUO0VsQmpDTixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrQmlDaEMsUUFBUSxDQUFDO01uQmxDRCxNQUFZLEVBQUEsS0FBQztNQUFiLFdBQVksRUFBQSxJQUFDO01BQWIsY0FBWSxFQUFBLElBQUMsR21Ca0NYO0VyQnpDUSxlQUFlLENBQUMsUUFBUSxDQUF0QjtJcUIrRGhCLE1BQU0sRUFBRSxJQUFLLEdyQi9ESTs7QXNCOUVyQixLQUFLLENBQUM7RUFDSixlQUFlLEVBQUUsUUFBUztFQUMxQixjQUFjLEVBQUUsQ0FBRTtFQUNsQixLQUFLLEVBQUUsSUFBSyxHQUhQO0VBS0wsS0FBSyxDQUFDLEVBQUU7RUFDVixLQUFLLENBQUMsRUFBRSxDQURIO0lBQ0QsVUFBVSxFQUFFLElBQUs7SUFDakIsT0FBTyxFeEJnSkksR0FBRyxHd0JsSlo7RUFJSixLQUFLLENBQUMsRUFBRSxDQUFMO0lBQ0QsY0FBYyxFQUFFLEdBQUksR0FEbEI7O0FDVE4sVUFBVSxDQUFDLE9BQU87RUFDaEIsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0VBRWIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUdmLFVBQVUsQ0FBQyxNQUFNO0VBQ2YsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0VBRWIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFOztBQUlmLFVBQVUsQ0FBQyxLQUFLO0VBQ2QsRUFBRTtJQUFHLFNBQVMsRUFBRSxRQUFLO0VBQ3JCLEdBQUc7SUFBRyxTQUFTLEVBQUUsVUFBSztFQUN0QixJQUFJO0lBQUcsU0FBUyxFQUFFLFFBQUs7O0FBR3pCLFVBQVUsQ0FBQyxLQUFLO0VBQ2QsRUFBRTtJQUFHLE9BQU8sRUFBRSxDQUFFO0VBQ2hCLEdBQUc7SUFBRyxPQUFPLEVBQUUsR0FBSTtFQUNuQixJQUFJO0lBQUcsT0FBTyxFQUFFLENBQUU7O0FBR3BCLFVBQVUsQ0FBQyxVQUFVO0VBQ25CLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx3QkFBVztFQUV4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLGVBQWU7RUFDeEIsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHdCQUFXO0VBRXhCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLOztBQUlwQixVQUFVLENBQUMsUUFBUTtFQUNqQixFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBR3BCLFVBQVUsQ0FBQyxhQUFhO0VBQ3RCLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVztFQUV4QixJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFDLFVBQVU7RUFDbkIsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHdCQUFXO0VBR3hCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLOztBQUdwQixVQUFVLENBQUMsV0FBVztFQUNwQixFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBQyxZQUFZO0VBQ3JCLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtFQUdiLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsVUFBVSxDQUFDLFdBQVc7RUFDcEIsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0VBR2IsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHdCQUFXOztBQUkxQixVQUFVLENBQUMsV0FBVztFQUNwQixFQUFFO0lBQ0EsU0FBUyxFQUFFLHdCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7O0FBSTFCLFVBQVUsQ0FBQyxXQUFXO0VBQ3BCLEVBQUU7SUFDQSxTQUFTLEVBQUUsd0JBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsSUFBSTtJQUNGLFNBQVMsRUFBRSxvQkFBVzs7QUFHMUIsVUFBVSxDQUFDLFlBQVk7RUFDckIsRUFBRTtJQUNBLFNBQVMsRUFBRSx1QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixJQUFJO0lBQ0YsU0FBUyxFQUFFLG9CQUFXOztBQUcxQixVQUFVLENBQUMsU0FBUztFQUNsQixFQUFFO0lBQ0EsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7O0FBRzFCLFVBQVUsQ0FBQyxNQUFNO0VBQ2YsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHNCQUFPO0VBR3BCLEdBQUc7SUFDRCxPQUFPLEVBQUUsQ0FBRTs7QUFLZixVQUFVLENBQUMsU0FBUztFQUNsQixFQUFFO0lBQ0EsU0FBUyxFQUFFLGFBQVU7RUFFdkIsSUFBSTtJQUNGLFNBQVMsRUFBRSxnQkFBVTs7QUFLekIsVUFBVSxDQUFDLE9BQU87RUFDaEIsRUFBRTtJQUNBLE9BQU8sRXpCMkRHLEdBQUc7SXlCMURiLE9BQU8sRUFBRSxDQUFFO0lBQ1gsVUFBVSxFQUFFLE9BQVE7SUFDcEIsU0FBUyxFQUFFLHdCQUFXO0VBRXhCLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLOztBQzdMcEIsT0FBTyxDQUFDO0VBSU4sUUFBUSxFQUFFLFFBQVM7RUFDbkIsU0FBUyxFQUFFLEtBQU0sR0FMVjtFakJrQk4sT0FBTyxPQUFPLENBQU47SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QWlCSFosVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUU7RUFDWCxVQUFVLEUxQndCVSxPQUFPLEcwQjFCakI7O0FBUVQsWUFBWSxHQUFHLENBQVg7RUFDSCxTQUFTLEUxQitMUyxLQUFLLEcwQmhNbkI7O0FBR0wsWUFBWSxHQUFHLENBQVg7RUFDSCxTQUFTLEUxQjZMUyxLQUFLLEcwQjlMbkI7O0FBR0wsWUFBWSxHQUFHLENBQVg7RUFDSCxTQUFTLEUxQjJMUyxNQUFNLEcwQjVMcEI7O0FBR0wsWUFBWSxJQUFJLENBQVg7RUFDSixTQUFTLEUxQndMUyxNQUFNLEcwQnpMbkI7O0FBS1QsT0FBTyxDQUFDO0VaK0JKLE9BQU8sRUFBRSxXQUFZO0VBQ3JCLE9BQU8sRUFBRSxRQUFTO0VBQ2xCLE9BQU8sRUFBRSxHQUFJO0VBR2IsT0FBTyxFQUFFLFlBQWE7RUFDdEIsT0FBTyxFQUFFLFNBQVU7RUFDbkIsT0FBTyxFQUFFLFdBQVk7RUFDckIsT0FBTyxFQUFFLElBQUssR1l2Q1Q7O0FBYVQsTUFBTSxDQUFDO0VYaEJDLGdCQUFvQixFV2lCWixDQUFDO0VYYlQsYUFBaUIsRVdhVCxDQUFDO0VYRFQsUUFBWSxFV0NKLENBQUM7RVhqQlQsWUFBb0IsRVdpQlosQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VYYmIsU0FBaUIsRVdhVCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RVhUYixRQUFnQixFV1NSLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztFWERiLElBQVksRVdDSixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FEYjs7QUFNUixPQUFPLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSztFQUNaLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLENBQUUsR0FISDs7QUMvQ2tELE1BQU0sQ0FLaEU7RUFJQyxNQUFNLEVBQUUsR0FBSTtFQUNaLFdBQVcsRTNCWFcsT0FBTyxFQUFFLElBQUk7RTJCWW5DLFdBQVcsRTNCSlcsR0FBRztFMkJLekIsS0FBSyxFM0JvQmUsT0FBTztFMkJuQjNCLFVBQVUsRTNCaUJVLE9BQU87RTJCaEIzQixNQUFNLEVBQUUsQ0FBRSxHQVRWO0VBWWUsTUFBTSxNQUFNLENBQW5CO0lBQ04sTUFBTSxFQUFFLENBQUUsR0FESDtFekIrRHdCLGVBQWUsQ0FBQyxNQUFNLE1BQU0sQ0FBbkQ7SXlCMURSLEtBQUssRTNCVWEsT0FBTztJMkJUekIsVUFBVSxFM0JBUSxPQUFPLEdFeURoQjs7QXlCdkRNLE1BQU0sWUFBWSxFQUFFLE1BQU0sQ0FBQSxRQUFDLEdBQVcsTUFBTSxDQUFBLGFBQUMsRUFFL0Q7RUFDQyxVQUFVLEUzQklVLE9BQU87RTJCSDNCLEtBQUssRTNCQ2UsT0FBTztFMkJBM0IsTUFBTSxFQUFFLFdBQVksR0FIcEI7RXpCcUQyQyxlQUFlLENBQUMsTUFBTSxZQUFZLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFBLFFBQUMsQ0FBUyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQSxhQUFDLENBQWMsTUFBTSxDQUE5SjtJeUJoRFIsVUFBVSxFM0JBUSxPQUFPO0kyQkN6QixLQUFLLEUzQkhhLE9BQU8sR0VrRGhCOztBeUI3Q0ksTUFBTSxRQUFRLENBRTlCO0V2QkVLLE1BQVksRUFBQSxJQUFDO0VBQWIsV0FBWSxFQUFBLElBQUM7RUFBYixPQUFZLEVBQUEsTUFBQztFQUFiLFNBQVksRUFBQSxJQUFDLEd1QkZqQjtFdEJ1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0J6Q2YsTUFBTSxRQUFRLENBRTlCO012QnNDTyxNQUFZLEVBQUEsSUFBQztNQUFiLFdBQVksRUFBQSxJQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR3VCdENuQjtFdEJ1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0J6Q2YsTUFBTSxRQUFRLENBRTlCO012QnNDTyxPQUFZLEVBQUEsTUFBQztNQUFiLFNBQVksRUFBQSxJQUFDLEd1QnRDbkI7RXRCdUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXNCekNoQixNQUFNLFFBQVEsQ0FFOUI7TXZCc0NPLE9BQVksRUFBQSxNQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR3VCdENuQjtFdEJ1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJc0J6Q2hCLE1BQU0sUUFBUSxDQUU5QjtNdkJzQ08sT0FBWSxFQUFBLE1BQUM7TUFBYixTQUFZLEVBQUEsSUFBQyxHdUJ0Q25COztBQWdDYyxNQUFNLE9BQU8sQ0FFNUI7RXZCaENLLE1BQVksRUFBQSxJQUFDO0VBQWIsV0FBWSxFQUFBLElBQUM7RUFBYixPQUFZLEVBQUEsS0FBQztFQUFiLFNBQVksRUFBQSxJQUFDLEd1QmdDakI7RXRCS0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0JQaEIsTUFBTSxPQUFPLENBRTVCO012QklPLE1BQVksRUFBQSxJQUFDO01BQWIsV0FBWSxFQUFBLElBQUM7TUFBYixPQUFZLEVBQUEsTUFBQztNQUFiLFNBQVksRUFBQSxJQUFDLEd1QkpuQjtFdEJLRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQlBoQixNQUFNLE9BQU8sQ0FFNUI7TXZCSU8sT0FBWSxFQUFBLE1BQUM7TUFBYixTQUFZLEVBQUEsSUFBQyxHdUJKbkI7RXRCS0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJc0JQakIsTUFBTSxPQUFPLENBRTVCO012QklPLE9BQVksRUFBQSxNQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR3VCSm5CO0V0QktFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXNCUGpCLE1BQU0sT0FBTyxDQUU1QjtNdkJJTyxPQUFZLEVBQUEsTUFBQztNQUFiLFNBQVksRUFBQSxJQUFDLEd1QkpuQjs7QUFpQ2MsTUFBTSxPQUFPLENBRTVCO0V2Qm5FSyxNQUFZLEVBQUEsSUFBQztFQUFiLFdBQVksRUFBQSxJQUFDO0VBQWIsT0FBWSxFQUFBLE1BQUM7RUFBYixTQUFZLEVBQUEsSUFBQyxHdUJtRWpCO0V0QjlCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQjRCaEIsTUFBTSxPQUFPLENBRTVCO012Qi9CTyxNQUFZLEVBQUEsSUFBQztNQUFiLFdBQVksRUFBQSxJQUFDO01BQWIsT0FBWSxFQUFBLE1BQUM7TUFBYixTQUFZLEVBQUEsSUFBQyxHdUIrQm5CO0V0QjlCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQjRCaEIsTUFBTSxPQUFPLENBRTVCO012Qi9CTyxPQUFZLEVBQUEsTUFBQztNQUFiLFNBQVksRUFBQSxJQUFDLEd1QitCbkI7RXRCOUJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXNCNEJqQixNQUFNLE9BQU8sQ0FFNUI7TXZCL0JPLE9BQVksRUFBQSxNQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR3VCK0JuQjtFdEI5QkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJc0I0QmpCLE1BQU0sT0FBTyxDQUU1QjtNdkIvQk8sT0FBWSxFQUFBLE1BQUM7TUFBYixTQUFZLEVBQUEsSUFBQyxHdUIrQm5COztBQWlDYSxNQUFNLE1BQU0sQ0FFMUI7RUFDQyxNQUFNLEVBQUUsQ0FBRTtFQUNWLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFFLElBQUssR0FIWjs7QUFJZ0IsTUFBTSxTQUFTLENBRWhDO0VBQ0MsVUFBVSxFM0I3SFUsT0FBTyxHMkI0SDNCO0V6Qm5FMEMsZUFBZSxDQUFDLE1BQU0sU0FBUyxNQUFNLENBQXJFO0l5QnNFUixVQUFVLEUzQnhIUSxPQUFPLEdFa0RoQjs7QXlCd0VPLE1BQU0sV0FBVyxDQUVwQztFQUNDLEtBQUssRTNCM0hlLE9BQU87RTJCNEgzQixVQUFVLEUzQnJJVSxPQUFPLEcyQm1JM0I7RXpCMUU0QyxlQUFlLENBQUMsTUFBTSxXQUFXLE1BQU0sQ0FBekU7SXlCOEVSLFVBQVUsRTNCaElRLE9BQU87STJCaUl6QixLQUFLLEUzQi9IYSxPQUFPLEdFZ0RoQjs7QXlCaUZNLE1BQU0sVUFBVSxDQUVsQztFQUNDLFVBQVUsRTNCN0lVLE9BQU87RTJCOEkzQixLQUFLLEUzQnZJZSxPQUFPLEcyQnFJM0I7RXpCbkYyQyxlQUFlLENBQUMsTUFBTSxVQUFVLE1BQU0sQ0FBdkU7SXlCdUZSLFVBQVUsRTNCaEpRLE9BQU87STJCaUp6QixLQUFLLEUzQjFJYSxPQUFPLEdFa0RoQjs7QXlCMEZTLE1BQU0sYUFBYSxDQUV4QztFQUNDLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLEtBQUssRTNCaEplLE9BQU87RTJCaUozQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNCakpHLE9BQU8sRzJCOEkzQjtFekI1RjhDLGVBQWUsQ0FBQyxNQUFNLGFBQWEsTUFBTSxDQUE3RTtJeUJpR1IsVUFBVSxFQUFFLFdBQVk7SUFDeEIsS0FBSyxFM0IzSmEsT0FBTztJMkI0SnpCLFlBQVksRTNCNUpNLE9BQU8sR0V5RGhCOztBeUJxR1csTUFBTSxlQUFlLENBRTVDO0VBQ0MsVUFBVSxFM0J4SlUsT0FBTztFMkJ5SjNCLEtBQUssRTNCbEtlLE9BQU8sRzJCZ0szQjtFekJ2R2dELGVBQWUsQ0FBQyxNQUFNLGVBQWUsTUFBTSxDQUFqRjtJeUIyR1IsVUFBVSxFM0IzSlEsT0FBTztJMkI0SnpCLEtBQUssRTNCOUphLE9BQU8sR0VrRGhCOztBeUI4R2EsTUFBTSxpQkFBaUIsQ0FFaEQ7RUFDQyxVQUFVLEUzQmpLVSxPQUFPO0UyQmtLM0IsS0FBSyxFM0IzS2UsT0FBTyxHMkJ5SzNCO0V6QmhIa0QsZUFBZSxDQUFDLE1BQU0saUJBQWlCLE1BQU0sQ0FBckY7SXlCb0hSLFVBQVUsRTNCcEtRLE9BQU87STJCcUt6QixLQUFLLEUzQnZLYSxPQUFPLEdFa0RoQjs7QXlCdUhZLE1BQU0sZ0JBQWdCLENBRTlDO0VBQ0MsVUFBVSxFM0IxS1UsT0FBTztFMkIySzNCLEtBQUssRTNCN0tlLE9BQU8sRzJCMkszQjtFekJ6SGlELGVBQWUsQ0FBQyxNQUFNLGdCQUFnQixNQUFNLENBQW5GO0l5QjZIUixVQUFVLEUzQm5MUSxPQUFPO0kyQm9MekIsS0FBSyxFM0JoTGEsT0FBTyxHRWtEaEI7O0F5QmdJZSxNQUFNLG1CQUFtQixDQUNwRDtFQUNDLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLEtBQUssRTNCbkxlLE9BQU87RTJCb0wzQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzNCcExHLE9BQU8sRzJCaUwzQjtFekJqSW9ELGVBQWUsQ0FBQyxNQUFNLG1CQUFtQixNQUFNLENBQXpGO0l5QnNJUixVQUFVLEVBQUUsV0FBWTtJQUN4QixLQUFLLEUzQjdMYSxPQUFPO0kyQjhMekIsWUFBWSxFM0I5TE0sT0FBTyxHRXNEaEI7O0F5QjZJZ0MsWUFBWSxPQUFPLEVBQUUsTUFBTSxNQUFNLE9BQU8sQ0FBMUU7RUFDUCxXQUFXLEVBQUUsT0FBUSxHQURiOztBQUdHLFlBQVksQ0FFMUI7RUFDQyxZQUFZLEVBQUUsR0FBSTtFQUNsQixPQUFPLEVBQUUsWUFBYTtFQUN0QixXQUFXLEVBQUUsT0FBUTtFQUNyQixjQUFjLEVBQUUsTUFBTyxHQUp2Qjs7QUMzT29ELE9BQU8sQ0FFNUQ7RUFDQyxRQUFRLEVBQUUsUUFBUyxHQURuQjs7QUFFYSxZQUFZLENBRTFCO0V4QjBDSyxVQUFZLEVBQUEsSUFBQztFQUFiLGFBQVksRUFBQSxJQUFDLEd3QjFDakI7RXZCK0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVCakZqQixZQUFZLENBRTFCO014QjhFTyxVQUFZLEVBQUEsSUFBQyxHd0I5RW5CO0V2QitFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1QmpGakIsWUFBWSxDQUUxQjtNeEI4RU8sVUFBWSxFQUFBLElBQUMsR3dCOUVuQjtFdkIrRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJdUJqRmpCLFlBQVksQ0FFMUI7TXhCOEVPLGFBQVksRUFBQSxJQUFDLEd3QjlFbkI7RXZCK0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXVCakZqQixZQUFZLENBRTFCO014QjhFTyxhQUFZLEVBQUEsSUFBQyxHd0I5RW5CO0VBRTJCLFlBQVksWUFBWSxDQUFyQztJQUNaLFVBQVUsRUFBRSxDQUFFLEdBREQ7RUFHVyxZQUFZLFdBQVcsQ0FBcEM7SUFDWCxhQUFhLEVBQUUsQ0FBRSxHQURMOztBQU9XLFFBQVEsY0FBYyxDQUFyQztFQUNSLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFlBQVksRTVCbUlELElBQUksRzRCcklOOztBQUlJLGNBQWMsQ0FDOUI7RUFDQyxNQUFNLEVBQUUsT0FBUSxHQURoQjs7QUFFZ0IsZUFBZSxDQUVoQztFQUNDLEtBQUssRTVCV2UsT0FBTztFNEJWM0IsVUFBVSxFNUJZVSxPQUFPO0U0QlgzQixNQUFNLEU1QnNJYyxHQUFHLENBR0gsS0FBSyxDQWhJTCxPQUFPO0U0QlIzQixVQUFVLEU1Qm1KcUIsR0FBRyxDQUFDLElBQUcsQ0FBQyxXQUFXO0U0QmxKbEQsS0FBSyxFQUFFLElBQUs7RUFDWixRQUFRLEVBQUUsUUFBUztFQUNuQixRQUFRLEVBQUUsTUFBTztFQUNqQixPQUFPLEVBQUUsWUFBYTtFQUN0QixhQUFhLEU1QjRLTSxHQUFHO0U0QjNLdEIsYUFBYSxFNUJvSEEsSUFBSSxHNEI5SGpCO0VBV3dCLE1BQU0sZUFBZSxDQUFyQztJQUNOLE9BQU8sRUFBRSxLQUFNLEdBRFI7RUFHZSxlQUFlLE1BQU0sQ0FBckM7SUFDTixLQUFLLEVBQUUsQ0FBRTtJQUNULE1BQU0sRUFBRSxDQUFFO0lBQ1YsWUFBWSxFQUFFLEtBQU07SUFDcEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7SUFDM0IsWUFBWSxFNUJQTSxPQUFPLEM0Qk9DLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVztJQUM3RCxRQUFRLEVBQUUsUUFBUztJQUNuQixLQUFLLEVBQUUsQ0FBRTtJQUNULEdBQUcsRUFBRSxHQUFJO0lBQ1QsVUFBVSxFQUFFLElBQUs7SUFDakIsS0FBSyxFNUJvR00sSUFBSTtJNEJuR2YsT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVmTEcsQ0FBTyxHZVBWOztBQWNXLGVBQWUsQ0FBQyxNQUFNLENBQzNDO0VDeERDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsT0FBUTtFQUNoQixNQUFNLEVBQUUsSUFBSztFQUNiLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLGdCQUFnQixFQUFFLElBQUs7RUFDdkIsa0JBQWtCLEVBQUUsSUFBSztFRGlEekIsT0FBTyxFZlZLLEVBQU87RWVXbkIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBSGpCOztBRXhEcUQsUUFBUSxDQUU5RDtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUFBRSxJQUFLLEdBRmpCOztBQU9lLGNBQWMsQ0FFOUI7RUFFQyxXQUFXLEU5QkVXLEdBQUc7RThCRHpCLEtBQUssRTlCZ0JlLE9BQU87RThCZjNCLE1BQU0sRUFBRSxDQUFFLEdBSlY7O0FBS2MsYUFBYSxDQUM1QjtFQUVDLFdBQVcsRTlCSFcsR0FBRztFOEJJekIsS0FBSyxFOUJVZSxPQUFPO0U4QlQzQixjQUFjLEVBQUUsR0FBSTtFQUNwQixjQUFjLEVBQUUsU0FBVTtFQUMxQixNQUFNLEVBQUUsQ0FBRSxHQU5WOztDQ2JGLE1BQUM7QUFDRCxLQUFLO0FBQ0wsVUFBVSxDQUZDO0VBQ1QsT0FBTyxFQUFHLElBQUssR0FETDs7QUFJVCxLQUFLLE1BQU0sQ0FBSjtFQUNOLEtBQUssRUFBRyxJQUFLO0VBQ2IsT0FBTyxFQUFHLEdBQUk7RUFDZCxPQUFPLEVBQUcsS0FBTTtFQUNoQixTQUFTLEVBQUcsQ0FBRTtFQUNkLE1BQU0sRUFBRyxDQUFFO0VBQ1gsVUFBVSxFQUFHLE1BQU8sR0FOYjs7QUFTWCxLQUFLLENBQUM7RUFDSixNQUFNLEVBQUcsQ0FBRTtFQUNYLEtBQUssRUFBRyxJQUFLO0VBQ2IsT0FBTyxFQUFHLEtBQU07RUFDaEIsTUFBTSxFQUFHLENBQUU7RUFDWCxNQUFNLEVBQUcsQ0FBRTtFQUNYLE9BQU8sRUFBRyxDQUFFLEdBTlA7O0FBU1AsS0FBSyxDQUFDO0VBQ0osU0FBUyxFQUFFLFdBQUs7RUFDaEIsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFJO0VBQ2YsT0FBTyxFQUFFLFlBQWE7RUFDdEIsVUFBVSxFQUFFLE1BQU8sR0FKZDs7QUFTUCxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsTUFBTyxHQURkOztBQUdQLEtBQUssQ0FBQztFQUNKLFVBQVUsRUFBRSxJQUFLLEdBRFo7O0FBR1AsS0FBSyxDQUFDO0VBQ0osVUFBVSxFQUFFLEtBQU0sR0FEYjs7QUFHUCxLQUFLLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSyxHQURQOztBQUdQLEtBQUssQ0FBQztFQUNKLEtBQUssRUFBRSxLQUFNLEdBRFI7O0FBR1AsS0FBSyxDQUFDO0VBQ0osS0FBSyxFQUFDLElBQUssR0FETjs7QUFJUCxLQUFLLENBQUM7RUFDTCxXQUFXLEVBQUUsSUFBSztFQUNsQixZQUFZLEVBQUUsSUFBSyxHQUZiOztBQUtQLE1BQU0sQ0FBQztFQUNOLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxHQUFJO0VBQ1QsU0FBUyxFQUFFLGdCQUFVLEdBSGQ7O0FBTVIsTUFBTSxDQUFDO0UzQmpCRCxVQUFZLEVBQUEsSUFBQztFQUFiLGFBQVksRUFBQSxJQUFDLEcyQmlCWDtFMUJvQkosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEJwQmhDLE1BQU0sQ0FBQztNM0JtQkMsVUFBWSxFQUFBLElBQUMsRzJCbkJiO0UxQm9CSixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwQnBCaEMsTUFBTSxDQUFDO00zQm1CQyxVQUFZLEVBQUEsSUFBQyxHMkJuQmI7RTFCb0JKLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBCcEJoQyxNQUFNLENBQUM7TTNCbUJDLGFBQVksRUFBQSxJQUFDLEcyQm5CYjtFMUJvQkosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEJwQmhDLE1BQU0sQ0FBQztNM0JtQkMsYUFBWSxFQUFBLElBQUMsRzJCbkJiO0VBRUwsTUFBTSxPQUFPLENBQUw7STNCbkJMLFVBQVksRUFBQSxHQUFDO0lBQWIsYUFBWSxFQUFBLEdBQUMsRzJCbUJQO0kxQmtCUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmxCN0IsTUFBTSxPQUFPLENBQUw7UTNCaUJILFVBQVksRUFBQSxJQUFDLEcyQmpCVDtJMUJrQlIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNMEJsQjdCLE1BQU0sT0FBTyxDQUFMO1EzQmlCSCxVQUFZLEVBQUEsSUFBQyxHMkJqQlQ7STFCa0JSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTBCbEI3QixNQUFNLE9BQU8sQ0FBTDtRM0JpQkgsYUFBWSxFQUFBLElBQUMsRzJCakJUO0kxQmtCUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmxCN0IsTUFBTSxPQUFPLENBQUw7UTNCaUJILGFBQVksRUFBQSxJQUFDLEcyQmpCVDtFQUdULE1BQU0sT0FBTyxDQUFMO0kzQnRCTCxVQUFZLEVBQUEsSUFBQztJQUFiLGFBQVksRUFBQSxJQUFDLEcyQnNCUDtJMUJlUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmY3QixNQUFNLE9BQU8sQ0FBTDtRM0JjSCxVQUFZLEVBQUEsSUFBQyxHMkJkVDtJMUJlUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmY3QixNQUFNLE9BQU8sQ0FBTDtRM0JjSCxVQUFZLEVBQUEsSUFBQyxHMkJkVDtJMUJlUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmY3QixNQUFNLE9BQU8sQ0FBTDtRM0JjSCxhQUFZLEVBQUEsSUFBQyxHMkJkVDtJMUJlUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQmY3QixNQUFNLE9BQU8sQ0FBTDtRM0JjSCxhQUFZLEVBQUEsSUFBQyxHMkJkVDs7QUFNWixPQUFPLENBQUM7RUFDTixNQUFNLEVBQUUsR0FBSTtFQUNaLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLFVBQVUsRS9CeENVLE9BQU87RStCeUMzQixPQUFPLEVBQUUsQ0FBRTtFQUNYLFNBQVMsRUFBRSxDQUFFO0VBQ2IsV0FBVyxFQUFFLENBQUU7RTNCbENYLFVBQVksRUFBQSxJQUFDO0VBQWIsYUFBWSxFQUFBLElBQUMsRzJCNEJWO0UxQlNMLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBCVGhDLE9BQU8sQ0FBQztNM0JRQSxVQUFZLEVBQUEsSUFBQyxHMkJSWjtFMUJTTCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwQlRoQyxPQUFPLENBQUM7TTNCUUEsVUFBWSxFQUFBLElBQUMsRzJCUlo7RTFCU0wsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJMEJUaEMsT0FBTyxDQUFDO00zQlFBLGFBQVksRUFBQSxJQUFDLEcyQlJaO0UxQlNMLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STBCVGhDLE9BQU8sQ0FBQztNM0JRQSxhQUFZLEVBQUEsSUFBQyxHMkJSWjtFQVFOLE9BQU8sT0FBTyxDQUFOO0kzQnBDTCxVQUFZLEVBQUEsR0FBQztJQUFiLGFBQVksRUFBQSxHQUFDLEcyQm9DUDtJMUJDUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkQ3QixPQUFPLE9BQU8sQ0FBTjtRM0JBSCxVQUFZLEVBQUEsSUFBQyxHMkJBVDtJMUJDUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkQ3QixPQUFPLE9BQU8sQ0FBTjtRM0JBSCxVQUFZLEVBQUEsSUFBQyxHMkJBVDtJMUJDUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkQ3QixPQUFPLE9BQU8sQ0FBTjtRM0JBSCxhQUFZLEVBQUEsSUFBQyxHMkJBVDtJMUJDUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkQ3QixPQUFPLE9BQU8sQ0FBTjtRM0JBSCxhQUFZLEVBQUEsSUFBQyxHMkJBVDtFQUdULE9BQU8sT0FBTyxDQUFOO0kzQnZDTCxVQUFZLEVBQUEsSUFBQztJQUFiLGFBQVksRUFBQSxJQUFDLEcyQnVDUDtJMUJGUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkU3QixPQUFPLE9BQU8sQ0FBTjtRM0JISCxVQUFZLEVBQUEsSUFBQyxHMkJHVDtJMUJGUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkU3QixPQUFPLE9BQU8sQ0FBTjtRM0JISCxVQUFZLEVBQUEsSUFBQyxHMkJHVDtJMUJGUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkU3QixPQUFPLE9BQU8sQ0FBTjtRM0JISCxhQUFZLEVBQUEsSUFBQyxHMkJHVDtJMUJGUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00wQkU3QixPQUFPLE9BQU8sQ0FBTjtRM0JISCxhQUFZLEVBQUEsSUFBQyxHMkJHVDs7QUMvRVMsa0JBQWtCLENBRXRDO0VBQ0MsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFDLElBQUs7RUFDWCxHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRWhDb09LLEdBQUcsR2dDeE9mOztBQUtxQixvQkFBb0IsQ0FFMUM7RXhCY0MsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEd3QmpCZDtFdkJDOEIsb0JBQW9CLE9BQU8sQ0FBaEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QXVCQ00sZUFBZSxDQUNoQztFQUNDLE1BQU0sRUFuQmEsS0FBSztFQW9CeEIsUUFBUSxFQUFFLFFBQVM7RXBCTW5CLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUUsR21CMUNWO0UzQmlFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0kyQmxFZixlQUFlLENBQ2hDO01wQkdHLFlBQVksRUNtQ04sT0FBUztNRGxDZixhQUFhLEVDa0NQLE9BQVMsR21CdENqQjs7QUFLZ0IsZUFBZSxDQUdoQztFQUNDLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQTVCYSxLQUFLO0VBNkJ4QixjQUFjLEVBQUUsTUFBTztFQUN2QixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBOUJjLEtBQUssR0F5QnhCOztBQU1vQixtQkFBbUIsQ0FDeEM7RUFDQyxVQUFVLEVBQUUsdUJBQUcsQ0FBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0VBQ2pELGVBQWUsRUFBRSxTQUFVO0VBQzNCLEtBQUssRUFuQ2MsS0FBSztFQW9DeEIsTUFBTSxFQW5DYSxJQUFJO0VBb0N2QixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsSUFBSztFQUNiLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLENBQUU7RUFDVCxNQUFNLEVBQUUsQ0FBRTtFQUNWLElBQUksRUFBRSxDQUFFO0VBQ1IsV0FBVyxFQUFFLE9BQVEsR0FYckI7O0FBWTJCLDBCQUEwQixDQUN0RDtFQUNDLGdCQUFnQixFQUFFLDZCQUFHLEdBRHJCOztBQUVlLGNBQWMsQ0FFOUI7RUFDQyxLQUFLLEVBQUUsS0FBTSxHQURiOztBQ2xEcUMsYUFBYSxDQUVuRDtFQUNDLEtBQUssRUFBQyxLQUFNLEdBRFo7O0E1QmlGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U0Qi9FWCxtQkFBbUIsQ0FFeEM7SUFFRyxPQUFPLEVBQUUsSUFBSyxHQUZoQjs7QTVCNkVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RTRCL0VYLG1CQUFtQixDQUV4QztJQUtHLE9BQU8sRUFBRSxZQUFhLEdBTHhCOztBQU9vQixtQkFBbUIsQ0FDeEM7RUFDQyxPQUFPLEVBQUUsWUFBYTtFQUN0QixhQUFhLEVqQ3dJQSxJQUFJLEdpQzFJakI7O0FBTWlFLFFBQVEsd0JBQXdCLENBQUMsbUJBQW1CLENBQ2xIO0VBVUMsS0FBSyxFakNEVyxPQUFPLEdpQ1R2QjtFQUM2RCxRQUFRLHdCQUF3QixDQUFDLG1CQUFtQixNQUFNLENBQWhIO0lBQ0wsU0FBUyxFQUFFLFVBQU0sR0FEWDtFQUdzRCxRQUFRLHdCQUF3QixDQUFDLG1CQUFtQixPQUFPLENBQWhIO0lBQ1AsY0FBYyxFQUFFLGVBQWdCO0lBQ2hDLGtCQUFrQixFakNQRCxLQUFLO0lpQ1F0Qix5QkFBeUIsRWpDTlIsV0FBVztJaUNPNUIsT0FBTyxFQUFFLENBQUUsR0FKSDs7QUFPb0QsUUFBUSx3QkFBd0IsQ0FBQyw0QkFBNEIsQ0FDNUg7RUFDQyxLQUFLLEVqQ0tXLE9BQU8sR2lDTnZCOztBQUlnQixtQkFBbUIsQ0FFeEM7RUFDQyxXQUFXLEVBeENLLEtBQUs7RUF5Q3JCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsV0FBVyxFakM5QlcsR0FBRztFaUMrQnpCLGNBQWMsRUFBRSxTQUFVO0VBQzFCLFNBQVMsRUFBRSxJQUFLLEdBTmhCO0UvQmdEOEMsZUFBZSxDQUFDLG1CQUFtQixNQUFNLENBQTdFO0krQnhDUixLQUFLLEVqQ2pCYSxPQUFPLEdFeURoQjtFK0J0Q3dDLFlBQVksR0FBRyxtQkFBbUIsQ0FBcEU7SUFDZixLQUFLLEVqQ3BCYSxPQUFPLEdpQ21CVDs7QS9Cc0NxQyxlQUFlLENBQUMsNEJBQTRCLE1BQU0sQ0FBL0Y7RStCL0JSLEtBQUssRWpDakJhLE9BQU8sR0VnRGhCOztBK0I3QmlELFlBQVksR0FBRyw0QkFBNEIsQ0FBdEY7RUFDZixLQUFLLEVqQ3BCYSxPQUFPLEdpQ21CVDs7QUFNZSx3QkFBd0IsTUFBTSxDQUF4RDtFQUNMLE9BQU8sRW5Dc0RJLEtBQU87RW1DckRsQixXQUFXLEVBQUUsS0FBTTtFQUNuQixTQUFTLEVBQUUsR0FBSTtFQUNmLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFdBQVcsRUFBRSxHQUFJO0VBQ2pCLFNBQVMsRUFBRSxTQUFNO0VBQ2pCLFVBQVUsRUFBRSxTQUFTLENqQ25EQSxLQUFLLENBRUwsV0FBVyxHaUMwQzFCOztBQVMwQix3QkFBd0IsT0FBTyxDQUF4RDtFQUNQLE9BQU8sRUFBQyxFQUFHO0VBQ1gsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUNaLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE1BQU0sRUFBRSxDQUFFO0VBQ1YsTUFBTSxFQUFFLHNCQUF1QjtFQUMvQixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ2pDeENQLE9BQU87RWlDeUN6QixJQUFJLEVBQUUsR0FBSTtFQUNWLFdBQVcsRUFBRSxLQUFNO0VBQ25CLE9BQU8sRUFBRSxDQUFFLEdBVkg7O0FBWVcsb0JBQW9CLENBRTFDO0VBQ0MsV0FBVyxFakMzRVcsR0FBRztFaUM0RXpCLE9BQU8sRUFBRSxJQUFLO0VBQ2QsU0FBUyxFQUFFLElBQUssR0FIaEI7RTVCSkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNEJFVixvQkFBb0IsQ0FFMUM7TUFLRyxPQUFPLEVBQUUsWUFBYSxHQUx4Qjs7QUFPMEIseUJBQXlCLENBRXBEO0VBQ0MsT0FBTyxFQUFFLFlBQWEsR0FEdEI7RUFHZ0QseUJBQXlCLFlBQVksTUFBTSxDQUFqRjtJQUNOLE9BQU8sRUFBRSxHQUFJO0lBQ2IsS0FBSyxFakN4RVcsT0FBTztJaUN5RXZCLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxHQUhOOztBQU1lLHlCQUF5QixDQUVwRDtFQUNDLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFVBQVUsRUFBRSxLQUFLLENqQ3pGTSxLQUFLLENBRUwsV0FBVyxHaUNxRmxDO0UvQnBCb0QsZUFBZSxDQUFDLHlCQUF5QixNQUFNLENBQXpGO0krQndCUixLQUFLLEVqQ2pGYSxPQUFPLEdFeURoQjs7QUFBa0QsZUFBZSxDQUFDLGtDQUFrQyxNQUFNLENBQTNHO0UrQjZCUixLQUFLLEVqQzdFYSxPQUFPLEdFZ0RoQjs7QUdKVCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U0Qm1DRiw0QkFBNEIsQ0FFMUQ7SUFFRyxRQUFRLEVBQUUsUUFBUztJQUNuQixNQUFNLEVBM0hRLEtBQUs7SUE0SG5CLFdBQVcsRUE1SEcsS0FBSztJQTZIbkIsT0FBTyxFQUFFLEtBQU0sR0FMakI7O0E1QnJDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0U0Qm1DRiw0QkFBNEIsQ0FFMUQ7SUFRRyxPQUFPLEVBQUUsSUFBSyxHQVJoQjs7QUN4SDBDLGlCQUFpQixDQUU1RDtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLENBQUU7RUFDVCxLQUFLLEVBQUMsSUFBSztFQUNYLEdBQUcsRUFBRSxJQUFLO0VBQ1YsT0FBTyxFbEN1T0ssR0FBRztFa0N0T2YsVUFBVSxFbEMrQlUsT0FBTztFa0M5QjNCLEtBQUssRWxDNkJlLE9BQU87RWtDNUIzQixXQUFXLEVBQUUsQ0FBRTtFQUNmLGNBQWMsRUFBQyxJQUFLO0VBQ3BCLE9BQU8sRUFBRSxDQUFFO0VBQ1gsVUFBVSxFQUFFLE1BQU8sR0FabkI7RUFhcUMsUUFBUSxDQUFDLGlCQUFpQixDQUFwRDtJQUNULGNBQWMsRUFBRSxlQUFnQjtJQUNoQyxrQkFBa0IsRWxDR0csS0FBSztJa0NGMUIseUJBQXlCLEVsQ0lKLFdBQVc7SWtDSGhDLE9BQU8sRUFBRSxDQUFFO0lBQ1gsVUFBVSxFQUFFLE9BQVEsR0FMVjs7QUFPWSx1QkFBdUIsQ0FFaEQ7RTlCc0JLLFdBQVksRUFBQSxJQUFDO0VBQWIsY0FBWSxFQUFBLElBQUM7RVFwQmpCLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUUsR3FCcENWO0U3QjJERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2QjdETix1QkFBdUIsQ0FFaEQ7TTlCMERPLFdBQVksRUFBQSxJQUFDLEc4QjFEbkI7RTdCMkRFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZCN0ROLHVCQUF1QixDQUVoRDtNOUIwRE8sV0FBWSxFQUFBLElBQUMsRzhCMURuQjtFN0IyREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkI3RE4sdUJBQXVCLENBRWhEO005QjBETyxjQUFZLEVBQUEsSUFBQyxHOEIxRG5CO0U3QjJERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2QjdETix1QkFBdUIsQ0FFaEQ7TTlCMERPLGNBQVksRUFBQSxJQUFDLEc4QjFEbkI7RTdCMkRFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07STZCN0RQLHVCQUF1QixDQUVoRDtNdEJIRyxZQUFZLEVDbUNOLE9BQVM7TURsQ2YsYUFBYSxFQ2tDUCxPQUFTLEdxQmhDakI7O0FBR3VCLHNCQUFzQixDQUU5QztFcEJxQ0csT0FBTyxFQUFFLFdBQVk7RUFDckIsT0FBTyxFQUFFLFFBQVM7RUFDbEIsT0FBTyxFQUFFLEdBQUk7RUFHYixPQUFPLEVBQUUsWUFBYTtFQUN0QixPQUFPLEVBQUUsU0FBVTtFQUNuQixPQUFPLEVBQUUsV0FBWTtFQUNyQixPQUFPLEVBQUUsSUFBSztFb0IzQ2hCLFdBQVcsRWxDbEJXLEdBQUc7RUlpQ3JCLFNBQVksRUFBQSxJQUFDLEc4QmpCakI7RTdCc0RFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZCeERQLHNCQUFzQixDQUU5QztNOUJxRE8sU0FBWSxFQUFBLElBQUMsRzhCckRuQjs7QUFXdUIsc0JBQXNCLENBRTlDO0VuQlZPLGdCQUFvQixFbUJXWixDQUFDO0VuQlBULGFBQWlCLEVtQk9ULENBQUM7RW5CS1QsUUFBWSxFbUJMSixDQUFDO0VuQlhULFlBQW9CLEVtQldaLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtFbkJQaEIsU0FBaUIsRW1CT1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0VuQkhoQixRQUFnQixFbUJHUixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7RW5CS2hCLElBQVksRW1CTEosQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBRHRCOztBQUtxRCw0QkFBNEIsQ0FBQyxzQkFBc0IsQ0FBbEY7RUFDcEIsS0FBSyxFQUFDLEdBQUksR0FEVzs7QUFHc0MsNEJBQTRCLENBQUMsOEJBQThCLENBQTFGO0VBQzVCLEtBQUssRUFBQyxHQUFJLEdBRG1COztBQU15QiwrQkFBK0IsQ0FBQyxzQkFBc0IsQ0FBdkY7RUFDckIsWUFBWSxFQUFDLGlCQUFrQjtFQUMvQixZQUFZLEVsQzZGRCxJQUFJLEdrQy9GTztFQUcrQywrQkFBK0IsQ0FBQyxzQkFBc0IsWUFBWSxDQUExSDtJQUNYLFlBQVksRUFBRSxDQUFFLEdBREo7RUFHaUUsK0JBQStCLENBQUMsc0JBQXNCLENBQUMsc0JBQXNCLENBQXRJO0lBQ3BCLFlBQVksRUFBRSxJQUFLO0lBQ25CLFlBQVksRUFBRSxDQUFFLEdBRks7RUFJNkMsK0JBQStCLENBQUMsc0JBQXNCLFdBQVcsQ0FBekg7SUFDVixZQUFZLEVBQUUsSUFBSyxHQURSOztBQU9zQyw0QkFBNEIsQ0FBQyxzQkFBc0IsQ0FBbEY7RUFDcEIsS0FBSyxFQUFDLEdBQUksR0FEVzs7QUFHc0MsNEJBQTRCLENBQUMsOEJBQThCLENBQTFGO0VBQzVCLEtBQUssRUFBQyxHQUFJLEdBRG1COztBQUdKLDBCQUEwQixDQUV0RDtFQUNDLFdBQVcsRWxDNUVXLE9BQU8sRUFBRSxJQUFJO0VrQzZFbkMsS0FBSyxFbEN2RGUsT0FBTyxHa0NxRDNCOztBQUcrQiw4QkFBOEIsQ0FFOUQ7RUFDQyxLQUFLLEVsQzNEZSxPQUFPO0VrQzREM0IsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVBQUUsSUFBSztFQUNsQixhQUFhLEVsQzBEQSxHQUFHLEdrQzlEaEI7O0FBS3dCLHVCQUF1QixDQUVoRDtFQUNDLGFBQWEsRWxDc0RBLEdBQUcsR2tDdkRoQjs7QUFFd0IsdUJBQXVCLENBRWhEO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVBQUUsSUFBSztFQUNsQixVQUFVLEVBQUUsS0FBSyxDbENoRk0sS0FBSyxDQUVMLFdBQVcsR2tDMkVsQztFQUkyQix1QkFBdUIsQ0FBQyxDQUFDLENBQWxEO0lBQ0EsT0FBTyxFQUFFLFlBQWE7SUFDdEIsV0FBVyxFQUFFLEdBQUk7SUFDakIsU0FBUyxFQUFFLEdBQUk7SUFDZixXQUFXLEVBQUUsSUFBSztJQUNsQixjQUFjLEVBQUUsTUFBTztJQUN2QixVQUFVLEVBQUUsU0FBUyxDbEN2RkEsS0FBSyxDQUVMLFdBQVcsRWtDcUYyQixPQUFPLENsQ3ZGN0MsS0FBSyxDQUVMLFdBQVc7SWtDc0ZoQyxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxpQkFBVSxHQVJwQjtFQVdnRCxlQUFlLENBQUMsdUJBQXVCLE1BQU0sQ0FBQyxDQUFDLENBQTlGO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsYUFBVSxHQUZwQjs7QUFTb0MsMkJBQTJCLFdBQVcsQ0FBbEU7RUFDWCxhQUFhLEVBQUUsQ0FBRSxHQURMOztBQUdXLHdCQUF3QixDQUVsRDtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEtBQUssRWxDdUJRLElBQUk7RWtDdEJqQixHQUFHLEVsQ3NCVSxJQUFJO0VrQ3BCakIsS0FBSyxFQW5JYSxJQUFJO0VBb0l0QixNQUFNLEVBcElZLElBQUk7RUFxSXRCLFNBQVMsRUFBRSxhQUFNO0VBQ2pCLFVBQVUsRUFBRSxHQUFHLENsQ2xIUSxLQUFLLENBRUwsV0FBVyxHa0N3R2xDO0VwQ3JIa0Msd0JBQXdCLE9BQU8sQ0FBeEQ7SUFDUCx1QkFBdUIsRUFBRSxTQUFVO0lBQ25DLHNCQUFzQixFQUFFLFdBQVk7SUFDcEMsT0FBTyxFQTRGQyxLQUFPO0lBM0ZmLFdBQVcsRUFBRSxPQUFRO0lBQ3JCLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFlBQVksRUFBRSxNQUFPO0lBQ3JCLFdBQVcsRUFBRSxNQUFPO0lBQ3BCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixjQUFjLEVBQUUsSUFBSyxHQVZiO0VJOEV5QyxlQUFlLENBQUMsd0JBQXdCLE1BQU0sQ0FBdkY7SWdDaURSLFNBQVMsRUFBRSxjQUFNLEdoQ2pEUjtFZ0NtRHVCLHdCQUF3QixPQUFPLENBQXhEO0lBQ1AsS0FBSyxFQTNJVyxJQUFJO0lBNElwQixNQUFNLEVBNUlVLElBQUk7SUE2SXBCLFdBQVcsRUE3SUssSUFBSTtJQThJcEIsT0FBTyxFQUFFLEtBQU07SUFDZixVQUFVLEVBQUUsTUFBTztJQUNuQixTQUFTLEVBQUUsSUFBSyxHQU5SOztBQzVJbUMsU0FBUyxDQUV2RDtFQUNDLEtBQUssRUFBQyxJQUFLO0VBQ1gsVUFBVSxFbkM0QlUsT0FBTyxDbUM1QkgsNkJBQUcsQ0FBMkIsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTO0VBQ3hFLGVBQWUsRUFBQyxJQUFLLEdBSHJCOztBQUlxQixvQkFBb0IsQ0FDMUM7RTNCd0JDLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSyxHMkIzQmQ7RTFCVzhCLG9CQUFvQixPQUFPLENBQWhEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0EwQlRNLGVBQWUsQ0FDaEM7RXZCa0JDLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUU7RVRkTixXQUFZLEVBQUEsSUFBQztFQUFiLGNBQVksRUFBQSxLQUFDLEcrQnRDakI7RTlCMkVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SThCNUVmLGVBQWUsQ0FDaEM7TXZCYUcsWUFBWSxFQ21DTixPQUFTO01EbENmLGFBQWEsRUNrQ1AsT0FBUyxHc0JoRGpCO0U5QjJFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4QjVFZCxlQUFlLENBQ2hDO00vQjBFTyxXQUFZLEVBQUEsSUFBQztNQUFiLGNBQVksRUFBQSxLQUFDLEcrQjFFbkI7RTlCMkVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThCNUVkLGVBQWUsQ0FDaEM7TS9CMEVPLFdBQVksRUFBQSxLQUFDO01BQWIsY0FBWSxFQUFBLEtBQUMsRytCMUVuQjs7QUFrQmdCLGVBQWUsQ0FFaEM7RUFDQyxVQUFVLEVBQUUsNkJBQUcsQ0FBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0VBQ3ZELGVBQWUsRUFBRSxTQUFVO0VBQzNCLE9BQU8sRUFBRSxLQUFNLEdBSGY7RTlCdURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThCekRkLGVBQWUsQ0FFaEM7TUFLRyxLQUFLLEVBQUUsS0FBTTtNQUNiLE1BQU0sRUFBRSxJQUFLLEdBTmY7RTlCdURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThCekRkLGVBQWUsQ0FFaEM7TUFTRyxLQUFLLEVBQUUsS0FBTTtNQUNiLE1BQU0sRUFBRSxJQUFLLEdBVmY7RTlCdURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThCekRkLGVBQWUsQ0FFaEM7TUFhRyxLQUFLLEVBQUUsS0FBTTtNQUNiLE1BQU0sRUFBRSxJQUFLLEdBZGY7O0FBZ0J1QixzQkFBc0IsQ0FFOUM7RUFDQyxLQUFLLEVuQ1JlLE9BQU87RW1DUzNCLFdBQVcsRW5DM0NXLGFBQWEsRUFBRSxVQUFVO0VtQzRDL0MsT0FBTyxFQUFFLEtBQU07RS9CSFgsU0FBWSxFQUFBLElBQUMsRytCQWpCO0U5QnFDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4QnZDUCxzQkFBc0IsQ0FFOUM7TS9Cb0NPLFNBQVksRUFBQSxJQUFDLEcrQnBDbkI7RTlCcUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThCdkNQLHNCQUFzQixDQUU5QztNL0JvQ08sU0FBWSxFQUFBLElBQUMsRytCcENuQjtFOUJxQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJOEJ2Q1Isc0JBQXNCLENBRTlDO00vQm9DTyxTQUFZLEVBQUEsSUFBQyxHK0JwQ25CO0VBY29DLHNCQUFzQixXQUFXLENBQXhEO0lBQ1gsS0FBSyxFbkM5QmEsT0FBTztJSWV2QixTQUFZLEVBQUEsSUFBQyxHK0JjSDtJOUJ1QlosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEJ2Qk0sc0JBQXNCLFdBQVcsQ0FBeEQ7US9Cc0JQLFNBQVksRUFBQSxJQUFDLEcrQnRCTDtJOUJ1QlosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNOEJ2Qk0sc0JBQXNCLFdBQVcsQ0FBeEQ7US9Cc0JQLFNBQVksRUFBQSxJQUFDLEcrQnRCTDtJOUJ1QlosTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtNOEJ2Qkssc0JBQXNCLFdBQVcsQ0FBeEQ7US9Cc0JQLFNBQVksRUFBQSxJQUFDLEcrQnRCTDs7QUFhRSxlQUFlLENBQ2hDO0VBQ0MsS0FBSyxFbkNwQ2UsT0FBTztFbUNxQzNCLFdBQVcsRW5DN0RXLEdBQUc7RW1DOER6QixVQUFVLEVuQ3dFRyxJQUFJO0VJdkdiLFNBQVksRUFBQSxJQUFDLEcrQjRCakI7RTlCU0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEJWZCxlQUFlLENBQ2hDO00vQlFPLFNBQVksRUFBQSxJQUFDLEcrQlJuQjs7QUFZZ0IsZUFBZSxDQUNoQztFQUNDLEtBQUssRW5DakRlLE9BQU87RW1Da0QzQixhQUFhLEVuQytEQSxJQUFJO0VJMUdiLFNBQVksRUFBQSxJQUFDLEcrQnlDakI7RTlCSkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEJHZCxlQUFlLENBQ2hDO00vQkxPLFNBQVksRUFBQSxJQUFDLEcrQktuQjtFOUJKRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4QkdkLGVBQWUsQ0FDaEM7TS9CTE8sU0FBWSxFQUFBLElBQUMsRytCS25COztBOUJKRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4QmdCZixjQUFjLENBRTlCO0lyQm5DRyxPQUFPLEVBQUUsV0FBWTtJQUNyQixPQUFPLEVBQUUsUUFBUztJQUNsQixPQUFPLEVBQUUsR0FBSTtJQUdiLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE9BQU8sRUFBRSxTQUFVO0lBQ25CLE9BQU8sRUFBRSxXQUFZO0lBQ3JCLE9BQU8sRUFBRSxJQUFLLEdxQjJCaEI7O0E5QmxCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4QnNCZixjQUFjLENBRTlCO0lBRUcsYUFBYSxFbkMyQ0YsSUFBSSxHbUM3Q2pCO0lBRzhCLGNBQWMsV0FBVyxDQUF4QztNQUNYLGFBQWEsRUFBRSxDQUFFLEdBREw7O0E5QjNCZCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4QnNCZixjQUFjLENBRTlCO0lwQjNFTyxnQkFBb0IsRW9CbUZWLENBQUM7SXBCL0VYLGFBQWlCLEVvQitFUCxDQUFDO0lwQm5FWCxRQUFZLEVvQm1FRixDQUFDO0lwQm5GWCxZQUFvQixFb0JtRlYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0lwQi9FbEIsU0FBaUIsRW9CK0VQLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJcEIzRWxCLFFBQWdCLEVvQjJFTixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7SXBCbkVsQixJQUFZLEVvQm1FRixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7SUFDdEIsYUFBYSxFbkNtQ0YsSUFBSTtJbUNsQ2YsS0FBSyxFQUFFLEdBQUksR0FWYjtJQVc4QixjQUFjLFdBQVcsQ0FBeEM7TUFDWCxhQUFhLEVBQUUsQ0FBRSxHQURMOztBOUJuQ2QsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEJ1Q1Qsb0JBQW9CLENBQzFDO0lBRUcsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhqQjs7QTlCeENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThCNkNWLG1CQUFtQixDQUN4QztJQUVHLEtBQUssRUFBRSxJQUFLO0lBQ1osS0FBSyxFQUFFLFNBQVU7SUFDakIsYUFBYSxFbkNtQkYsSUFBSSxHbUN2QmpCOztBOUI5Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEI2Q1YsbUJBQW1CLENBQ3hDO0lBT0csS0FBSyxFQUFFLEdBQUk7SUFDWCxTQUFTLEVBQUUsS0FBTSxHQVJuQjs7QTlCOUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThCd0RULG9CQUFvQixDQUMxQztJQUVHLEtBQUssRUFBRSxRQUFTO0lBQ2hCLEtBQUssRUFBRSxJQUFLLEdBSGQ7O0E5QnpERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0U4QndEVCxvQkFBb0IsQ0FDMUM7SUFNRyxLQUFLLEVBQUUsSUFBSztJQUNaLEtBQUssRUFBRSxJQUFLO0lBQ1osU0FBUyxFQUFFLEtBQU07SUFDakIsT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVBQUUsSUFBSyxHQVZkOztBOUJ6REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFOEJxRVAsc0JBQXNCLENBQzlDO0lBRUcsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhqQjs7QUNySm9CLG1CQUFtQixDQUN4QztFeEJxQkMsWUFBWSxFQ2tDSixFQUFFO0VEakNWLGFBQWEsRUNpQ0wsRUFBRSxHdUJ2RFY7RS9COEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SStCL0VYLG1CQUFtQixDQUN4QztNeEJnQkcsWUFBWSxFQ21DTixPQUFTO01EbENmLGFBQWEsRUNrQ1AsT0FBUyxHdUJuRGpCOztBQUVvQixtQkFBbUIsQ0FDeEM7RUFDQyxhQUFhLEVwQzZJQSxJQUFJO0VJeEdiLGFBQVksRUFBQSxHQUFDLEdnQ3RDakI7RS9CMkVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStCNUVWLG1CQUFtQixDQUN4QztNaEMwRU8sYUFBWSxFQUFBLElBQUMsR2dDMUVuQjtFL0IyRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0I1RVYsbUJBQW1CLENBQ3hDO01oQzBFTyxhQUFZLEVBQUEsSUFBQyxHZ0MxRW5COztBQVdvQixtQkFBbUIsQ0FDeEM7RUFDQyxjQUFjLEVBQUUsU0FBVTtFQUMxQixXQUFXLEVwQ1RXLEdBQUc7RW9DVXpCLEtBQUssRXBDTWUsT0FBTztFb0NMM0IsVUFBVSxFQUFFLEtBQUssQ3BDSk0sS0FBSyxDQUVMLFdBQVc7RUl3QjlCLFNBQVksRUFBQSxJQUFDLEdnQzFCakI7RS9CK0RFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStCaEVWLG1CQUFtQixDQUN4QztNaEM4RE8sU0FBWSxFQUFBLElBQUMsR2dDOURuQjtFL0IrREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0JoRVYsbUJBQW1CLENBQ3hDO01oQzhETyxTQUFZLEVBQUEsSUFBQyxHZ0M5RG5CO0VsQ21FOEMsZUFBZSxDQUFDLG1CQUFtQixNQUFNLENBQTdFO0lrQ3BEUixLQUFLLEVwQ0hhLE9BQU8sR0V1RGhCOztBbUN0RjZCLFlBQVksQ0FFckQ7RUFDQyxnQkFBZ0IsRXJDb0NJLE9BQU87RXFDbkMzQixRQUFRLEVBQUUsS0FBTTtFQUNoQixJQUFJLEVBTmEsR0FBRztFQU9wQixHQUFHLEVBUGMsR0FBRztFQVFwQixNQUFNLEVBUlcsR0FBRztFQVNwQixLQUFLLEVBVFksR0FBRztFQWdCcEIsT0FBTyxFeEI4QkssSUFBTztFd0I3Qm5CLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLFVBQVUsRUFBRSxNQUFPO0VBQ25CLDBCQUEwQixFQUFFLEtBQU07RUFDbEMsT0FBTyxFQUFFLElBQUssR0FqQmQ7RWhDZ0ZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdDbEZVLFlBQVksQ0FFckQ7TUFRRyxJQUFJLEVyQzRJTyxJQUFJO01xQzNJZixHQUFHLEVyQzJJUSxJQUFJO01xQzFJZixNQUFNLEVyQzBJSyxJQUFJO01xQ3pJZixLQUFLLEVyQ3lJTSxJQUFJLEdxQ3BKakI7RWhDZ0ZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdDbEZTLFlBQVksQ0FFckQ7TUFtQkcsT0FBTyxFQUFFLElBQUssR0FuQmhCO0VBcUIwQixXQUFXLFlBQVksQ0FBcEM7SUFDWCxPQUFPLEV4QnFCRyxJQUFPO0l3QnBCakIsY0FBYyxFQUFFLE9BQVE7SUFDeEIsT0FBTyxFQUFFLENBQUU7SUFDWCxVQUFVLEVBQUUsT0FBUTtJQUNwQixPQUFPLEVBQUUsS0FBTSxHQUxIO0VBT2MsYUFBYSxZQUFZLENBQXRDO0lBQ2IsT0FBTyxFckNvTkksRUFBQztJcUNuTlosT0FBTyxFQUFFLENBQUU7SUFDWCxVQUFVLEVBQUUsTUFBTztJQUNuQixPQUFPLEVBQUUsSUFBSyxHQUpBO0VBTVMsVUFBVSxZQUFZLENBQW5DO0lBRVYsa0JBQWtCLEVyQ25CRyxLQUFLO0lxQ29CMUIseUJBQXlCLEVyQ2xCSixXQUFXO0lxQ21CaEMsbUJBQW1CLEVBQUUsSUFBSyxHQUpmOztBQU1RLG9CQUFvQixDQUUxQztFQUNDLGdCQUFnQixFckNQSSxPQUFPO0VxQ1EzQixPQUFPLEVBQUMsSUFBSyxHQUZiO0U1QjdCOEIsb0JBQW9CLE9BQU8sQ0FBaEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QTRCaUNTLGtCQUFrQixDQUV2QztFQUNFLE9BQU8sRUFBRSxLQUFNO0VBQ2YsS0FBSyxFQUFDLElBQUs7RUFDWCxLQUFLLEVBQUMsS0FBTTtFQUNaLFdBQVcsRUFBRSxJQUFLO0VBQ2xCLFVBQVUsRUFBRSx1QkFBRyxDQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7RUFDakQsZUFBZSxFQUFFLFNBQVU7RUFDM0IsV0FBVyxFQUFFLE9BQVEsR0FQdEI7O0FBUXdCLHNCQUFzQixDQUUvQztFQUNFLFFBQVEsRUFBQyxRQUFTLEdBRG5COztBQUVtQixpQkFBaUIsQ0FFckM7RUFDRSxVQUFVLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFNLEdBRDVCOztBQUV5Qix1QkFBdUIsQ0FFaEQ7RUFDQyxPQUFPLEVBQUUsS0FBTTtFQUNmLEtBQUssRUFBQyxLQUFNO0VBQ1osT0FBTyxFQUFFLEtBQU07RUFDZixVQUFVLEVBQUUsR0FBSTtFQUNoQixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsVUFBVSxFQUFFLEdBQUcsQ3JDeERRLEtBQUssQ0FFTCxXQUFXLEdxQytDbEM7RW5Da0JrRCxlQUFlLENBQUMsdUJBQXVCLE1BQU0sQ0FBckY7SW1DVFIsU0FBUyxFQUFFLGFBQU0sR25DU1I7RW1DUGtCLHVCQUF1QixDQUFDLEdBQUcsQ0FBcEQ7SUFDRixLQUFLLEVBQUUsSUFBSztJQUNaLE1BQU0sRUFBRSxJQUFLLEdBRlY7SUFHNEIsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBMUQ7TUFDQSxNQUFNLEVyQ3REVSxPQUFPLEdxQ3FEdEI7O0FBSWMsa0JBQWtCLENBRXRDO0VBQ0MsV0FBVyxFQUFFLElBQUs7RUFDbEIsT0FBTyxFQUFFLEtBQU07RUFDZixZQUFZLEVBQUUsSUFBSztFQUNuQixRQUFRLEVBQUUsUUFBUyxHQUpuQjtFQUs0QixrQkFBa0IsT0FBTyxDQUE1QztJQUVQLE9BQU8sRXZDdUJJLEtBQU87SXVDdEJsQixTQUFTLEVBQUUsR0FBSTtJQUNmLFNBQVMsRUFBRSxhQUFNO0lBQ2pCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLElBQUksRUFBRSxDQUFFO0lBQ1IsV0FBVyxFQUFFLElBQUs7SUFDbEIsVUFBVSxFQUFFLElBQUksQ3JDbEZLLEtBQUssQ0FFTCxXQUFXLEdxQ3dFeEI7RUFXMEMsZUFBZSxDQUFDLGtCQUFrQixNQUFNLE9BQU8sQ0FBeEY7SUFDUCxJQUFJLEVBQUUsSUFBSyxHQURIOztBQUlZLHVCQUF1QixDQUVqRDtFQUNFLFFBQVEsRUFBRSxRQUFTO0VBQ25CLElBQUksRUFBQyxJQUFLO0VBQ1YsR0FBRyxFQUFDLEdBQUk7RUFDUixPQUFPLEVBQUUsSUFBSztFQUNkLE1BQU0sRUFBQyxJQUFLO0VBQ1osZ0JBQWdCLEVyQzdFSSxPQUFPO0VxQzhFM0IsS0FBSyxFQUFDLElBQUssR0FQWjs7QUFVZ0Qsc0JBQXNCLENBQUMsdUJBQXVCLENBQzdGO0VBQ0UsSUFBSSxFQUFDLENBQUUsR0FEUjs7QUFHdUIsdUJBQXVCLENBRWpEO0VBQ0UsT0FBTyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7RUFDM0IsS0FBSyxFckNyR2UsT0FBTztFcUNzRzNCLFdBQVcsRUFBRSxJQUFLLEdBSG5CO0VBSTRCLHVCQUF1QixDQUFDLENBQUMsQ0FBbkQ7SUFDQyxLQUFLLEVyQ3hHYSxPQUFPLEdxQ3VHekI7O0FBR3VCLHdCQUF3QixDQUVuRDtFQUNFLE9BQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO0VBQzFCLEtBQUssRXJDOUdlLE9BQU87RXFDK0czQixXQUFXLEVBQUUsSUFBSyxHQUhuQjs7QUFJMkIseUJBQXlCLENBRXJEO0VBQ0UsYUFBYSxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTSxHQUQvQjtFQUd3Qyx5QkFBeUIsV0FBVyxDQUEvRDtJQUNWLGFBQWEsRUFBQyxJQUFLO0lBQ25CLGNBQWMsRUFBQyxJQUFLLEdBRlQ7O0FBUVcsdUJBQXVCLENBRWpEO0VBQ0UsYUFBYSxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTSxHQUQvQjs7QUFFb0Isa0JBQWtCLENBRXZDO0VBQ0UsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEVyQ3BKVyxHQUFHO0VxQ3FKekIsT0FBTyxFQUFDLElBQUksQ0FBQyxJQUFJO0VBQ2pCLGNBQWMsRUFBRSxTQUFVO0VBQzFCLFNBQVMsRUFBRSxJQUFLLEdBTGpCO0VBTTRCLGtCQUFrQixNQUFNLENBQTNDO0lBQ04sT0FBTyxFdkM1RlEsS0FBTztJdUM2RnRCLFdBQVcsRUFBRSxLQUFNO0lBQ25CLFdBQVcsRUFBRSxNQUFPO0lBQ3BCLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLFdBQVcsRUFBQyxHQUFJO0lBQ2hCLFNBQVMsRUFBRSxHQUFJO0lBQ2YsVUFBVSxFQUFFLFNBQVMsQ3JDdkpBLEtBQUssQ0FDTCxXQUFXLEVxQ3NKaUMsT0FBTyxDckN2Sm5ELEtBQUssQ0FDTCxXQUFXO0lxQ3VKaEMsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsaUJBQVUsR0FUZDtFQVkwQyxlQUFlLENBQUMsa0JBQWtCLE1BQU0sTUFBTSxDQUF2RjtJQUNOLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLGFBQVUsR0FGZDs7QUFRcUIsdUJBQXVCLE1BQU0sQ0FBckQ7RUFFTixPQUFPLEV2Q3BFSSxLQUFPO0V1Q3FFbEIsU0FBUyxFQUFFLEdBQUk7RUFDZixTQUFTLEVBQUUsY0FBTSxDQUFTLGFBQVU7RUFDcEMsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLElBQUs7RUFDWixXQUFXLEVBQUUsSUFBSztFQUNsQixPQUFPLEVBQUUsQ0FBRSxHQVJKOztBQVcrQyxlQUFlLENBQUMsdUJBQXVCLE1BQU0sTUFBTSxDQUFqRztFQUNOLFNBQVMsRUFBRSxjQUFNLENBQVMsYUFBVSxHQUQ3Qjs7QUFJUyxtQkFBbUIsQ0FFeEM7RUFDQyxPQUFPLEVBQUUsWUFBYTtFQUN0QixPQUFPLEVBQUMsSUFBSSxDQUFDLElBQUk7RUFDakIsU0FBUyxFQUFFLElBQUssR0FIaEI7O0FBSXlCLHdCQUF3QixDQUVsRDtFQUNDLE9BQU8sRUFBRSxZQUFhLEdBRHRCO0VBRytDLHdCQUF3QixZQUFZLE1BQU0sQ0FBL0U7SUFDTixPQUFPLEVBQUUsR0FBSTtJQUNiLEtBQUssRXJDckxXLE9BQU8sR3FDbUxoQjs7QUFLYyx3QkFBd0IsQ0FFbEQ7RUFDQyxPQUFPLEVBQUUsWUFBYSxHQUR0Qjs7QUM1TjZDLFNBQVMsQ0FFdkQ7RWxDOENLLE1BQVksRUFBQSxNQUFDLEdrQzlDakI7RWpDbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlDckZlLFNBQVMsQ0FFdkQ7TWxDa0ZPLE1BQVksRUFBQSxPQUFDLEdrQ2xGbkI7RWpDbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlDckZlLFNBQVMsQ0FFdkQ7TWxDa0ZPLE1BQVksRUFBQSxPQUFDLEdrQ2xGbkI7RWpDbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWlDckZjLFNBQVMsQ0FFdkQ7TWxDa0ZPLE1BQVksRUFBQSxPQUFDLEdrQ2xGbkI7O0FBV2tCLGlCQUFpQixDQUVwQztFQUNDLFVBQVUsRUFBRSxDQUFFLEdBRGQ7O0FBRXFCLG9CQUFvQixDQUMxQztFQUNDLGFBQWEsRUFBRSxDQUFFLEdBRGpCOztBQ2xCZ0QsVUFBVSxDQUUzRDtFL0I2QkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEcrQmhDZDtFOUJnQm9CLFVBQVUsT0FBTyxDQUE1QjtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBK0JmNEIsWUFBWSxDQUVuRDtFQUNDLFFBQVEsRUFBRSxLQUFNO0VBQ2hCLE9BQU8sRTNCeUNLLElBQU87RTJCeENuQixVQUFVLEV4Q2lDVSxPQUFPO0V3Q2hDM0IsSUFBSSxFQUFFLENBQUU7RUFDUixLQUFLLEVBQUUsQ0FBRTtFQUNULEdBQUcsRUFBRSxDQUFFO0VBQ1AsTUFBTSxFQUFFLENBQUU7RUFDVixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsT0FBTyxFQUFFLENBQUU7RUFDWCxVQUFVLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBWC9CO0VBWXdDLFlBQVksQ0FBQyxZQUFZLENBQWxEO0lBQ2IsT0FBTyxFQUFFLENBQUUsR0FERzs7QUFHRyxrQkFBa0IsQ0FDdEM7RUFDQyxVQUFVLEVBQUUsdUJBQUcsQ0FBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO0VBQ2pELGVBQWUsRUFBRSxTQUFVO0VBQzNCLEtBQUssRUF0QmMsS0FBSztFQXVCeEIsTUFBTSxFQXRCYSxJQUFJO0VBdUJ2QixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsSUFBSztFQUNiLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLENBQUU7RUFDVCxNQUFNLEVBQUUsQ0FBRTtFQUNWLElBQUksRUFBRSxDQUFFO0VBQ1IsV0FBVyxFQUFFLE9BQVEsR0FYckI7O0FDQXNCLHFCQUFxQixDQUc1QztFQUNDLEtBQUssRXpDZ0JlLE9BQU87RXlDZjNCLFNBQVMsRUFBRSxLQUFNO0VBVWpCLE9BQU8sRUFBRSxDQUFFLEdBWlg7RXBDNkRFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9DaEVSLHFCQUFxQixDQUc1QztNQUlHLFVBQVUsRUFBRSxLQUFNLEdBSnBCO0VwQzZERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ2hFUixxQkFBcUIsQ0FHNUM7TUFPRyxTQUFTLEVBQUUsS0FBTSxHQVBuQjtFcEM2REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0NoRVIscUJBQXFCLENBRzVDO01BVUcsU0FBUyxFQUFFLEtBQU0sR0FWbkI7RUFhcUMsTUFBTSxDQUFDLHFCQUFxQixDQUF4RDtJQUNQLE9BQU8sRUFBRSxDQUFFLEdBREg7RUFHK0IsUUFBUSxDQUFDLHFCQUFxQixDQUE1RDtJQUNULGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLGtCQUFrQixFQUFFLElBQUs7SUFDekIsbUJBQW1CLEVBQUUsSUFBSztJQUMxQixlQUFlLEVBQUUsS0FBTTtJQUN2Qix5QkFBeUIsRUFBRSxXQUFZLEdBTDdCOztBQU9hLHdCQUF3QixDQUNsRDtFQUNDLFVBQVUsRUFBRSxJQUFLO0VBRWpCLEtBQUssRXpDVmUsT0FBTztFeUNXM0IsV0FBVyxFekNyQ1csR0FBRztFeUNzQ3pCLGNBQWMsRUFBRSxTQUFVO0VBQzFCLGNBQWMsRUFBRSxHQUFJO0VBQ3BCLEtBQUssRUFBRSxLQUFNO0VBQ2IsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsQ0FBRTtFckNWUCxTQUFZLEVBQUEsSUFBQyxHcUNBakI7RUFXd0MsTUFBTSxDQUFDLHdCQUF3QixDQUE5RDtJQUNQLE9BQU8sRUFBRSxDQUFFLEdBREg7RUFHa0MsUUFBUSxDQUFDLHdCQUF3QixDQUFsRTtJQUNULGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLGtCQUFrQixFQUFFLElBQUs7SUFDekIsbUJBQW1CLEVBQUUsSUFBSztJQUMxQixlQUFlLEVBQUUsTUFBTztJQUN4Qix5QkFBeUIsRUFBRSxXQUFZLEdBTDdCO0VwQ3VCVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ3RDTCx3QkFBd0IsQ0FDbEQ7TXJDb0NPLFNBQVksRUFBQSxJQUFDLEdxQ3BDbkI7RXBDcUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9DdENMLHdCQUF3QixDQUNsRDtNckNvQ08sU0FBWSxFQUFBLElBQUMsR3FDcENuQjtFQWdDK0Isd0JBQXdCLENBQUMsSUFBSSxDQUF2RDtJQUNILE9BQU8sRUFBRSxLQUFNLEdBRFg7RUFHc0Isd0JBQXdCLENBQUMsQ0FBQyxDQUFwRDtJQUNBLE9BQU8sRUFBRSxLQUFNLEdBRGQ7RUFJb0Msd0JBQXdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBakU7SUFDTCxPQUFPLEVBQUUsQ0FBRTtJQUNYLFVBQVUsRUFBRSxPQUFPLEN6Q25FQSxLQUFLLENBRUwsV0FBVyxHeUMrRHhCO0VBT3FELGVBQWUsQ0FBQyx3QkFBd0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQTdHO0lBQ0wsT0FBTyxFQUFFLEdBQUksR0FEUDtFdkNMdUMsZUFBZSxDQUFDLHdCQUF3QixNQUFNLENBQXZGO0l1Q2VSLEtBQUssRXpDL0RhLE9BQU8sR0VnRGhCO0VHSlQsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0N0Q0wsd0JBQXdCLENBQ2xEO01BMkRHLFVBQVUsRXpDOENDLElBQUk7TXlDN0NmLE1BQU0sRUFBRSxJQUFLLEdBNURmO01BNkQ4Qix3QkFBd0IsQ0FBQyxDQUFDLENBQXBEO1FBQ0EsUUFBUSxFQUFFLFFBQVM7UUFDbkIsSUFBSSxFQUFFLENBQUU7UUFDUixHQUFHLEVBQUUsQ0FBRSxHQUhOO01BSzJCLHdCQUF3QixDQUFDLEdBQUcsQ0FBdEQ7UUFDRixLQUFLLEVBQUUsSUFBSztRQUNaLE1BQU0sRUFBRSxJQUFLLEdBRlY7TUFLMEIsd0JBQXdCLENBQUMsSUFBSSxDQUF2RDtRQUNILFFBQVEsRUFBRSxRQUFTO1FBQ25CLEtBQUssRUFBRSxLQUFNO1FBQ2IsT0FBTyxFQUFFLEtBQU07UUFDZixJQUFJLEVBQUUsSUFBSztRQUNYLEdBQUcsRUFBRSxHQUFJO1FBQ1QsU0FBUyxFQUFFLGdCQUFVLEdBTmpCO0VwQ2xDTixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ3RDTCx3QkFBd0IsQ0FDbEQ7TUFpRkcsWUFBWSxFQUFFLEdBQUk7TUFDbEIsUUFBUSxFQUFFLFFBQVM7TUFDbkIsS0FBSyxFNUJyRUMsRUFBRTtNNEJzRVIsR0FBRyxFQUFFLEdBQUk7TUFDVCxTQUFTLEVBQUUsZ0JBQVU7TUFDckIsVUFBVSxFQUFFLE1BQU87TUFDbkIsS0FBSyxFQUFFLEtBQU07TUFDYixNQUFNLEVBQUUsSUFBSyxHQXhGZjtNQXlGZ0Msd0JBQXdCLENBQUMsR0FBRyxDQUF0RDtRQUNGLEtBQUssRUFBRSxJQUFLO1FBQ1osTUFBTSxFQUFFLElBQUssR0FGVjtFcENwREwsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJb0N0Q04sd0JBQXdCLENBQ2xEO01BK0ZHLEtBQUssRTVCckZDLE9BQVM7TTRCc0ZmLFlBQVksRUFBRSxFQUFHLEdBaEduQjs7QUFrR29CLG1CQUFtQixDQUN4QztFQUNDLE1BQU0sRUFBRSxDQUFFO0VBQ1YsV0FBVyxFQUFFLElBQUs7RUFDbEIsS0FBSyxFekN0SGUsT0FBTztFSWdCdkIsU0FBWSxFQUFBLElBQUMsR3FDbUdqQjtFcEM5REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0M2RFYsbUJBQW1CLENBQ3hDO01yQy9ETyxTQUFZLEVBQUEsSUFBQyxHcUMrRG5CO0VwQzlERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQzZEVixtQkFBbUIsQ0FDeEM7TXJDL0RPLFNBQVksRUFBQSxJQUFDLEdxQytEbkI7O0FBYXVCLHNCQUFzQixDQUM5QztFQUNDLE1BQU0sRUFBRSxDQUFFO0VBQ1YsV0FBVyxFQUFFLElBQUs7RUFDbEIsS0FBSyxFekNuSWUsT0FBTztFSWV2QixTQUFZLEVBQUEsSUFBQyxHcUNpSGpCO0VwQzVFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQzJFUCxzQkFBc0IsQ0FDOUM7TXJDN0VPLFNBQVksRUFBQSxJQUFDLEdxQzZFbkI7RXBDNUVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9DMkVQLHNCQUFzQixDQUM5QztNckM3RU8sU0FBWSxFQUFBLElBQUMsR3FDNkVuQjs7QUFhbUIsa0JBQWtCLENBQ3RDO0VBQ0MsTUFBTSxFekN0Qk8sSUFBSSxDeUNzQkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQ3hCLFdBQVcsRXpDMUtXLGFBQWEsRUFBRSxVQUFVO0V5QzJLL0MsV0FBVyxFQUFFLENBQUU7RUFDZixXQUFXLEVBQUUsR0FBSTtFckNuSWIsU0FBWSxFQUFBLElBQUMsR3FDK0hqQjtFcEMxRkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0N5Rlgsa0JBQWtCLENBQ3RDO01yQzNGTyxTQUFZLEVBQUEsSUFBQyxHcUMyRm5CO0VwQzFGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvQ3lGWCxrQkFBa0IsQ0FDdEM7TXJDM0ZPLFNBQVksRUFBQSxJQUFDLEdxQzJGbkI7O0FDL0srQyxVQUFVLENBRTFEO0VBQ0MsUUFBUSxFQUFFLFFBQVMsR0FEbkI7O0FBRXNCLHFCQUFxQixDQUU1QztFbEN5QkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLO0VrQzFCZCxRQUFRLEVBQUUsUUFBUyxHQUZuQjtFakNZK0IscUJBQXFCLE9BQU8sQ0FBbEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QWtDbEI4QyxrQkFBa0IsQ0FFM0U7RUFDQyxVQUFVLEUzQ3dDVSxPQUFPLEcyQ3pDM0I7O0FBRThCLDZCQUE2QixDQUM1RDtFbkMwQkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEdtQzdCZDtFbENhdUMsNkJBQTZCLE9BQU8sQ0FBbEU7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QWtDWGUsd0JBQXdCLENBQ2xEO0UvQm9CQyxZQUFZLEVDa0NKLEVBQUU7RURqQ1YsYUFBYSxFQ2lDTCxFQUFFLEc4QnREVjtFdEM2RUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJc0M5RU4sd0JBQXdCLENBQ2xEO00vQmVHLFlBQVksRUNtQ04sT0FBUztNRGxDZixhQUFhLEVDa0NQLE9BQVMsRzhCbERqQjs7QUFFeUIsd0JBQXdCLENBQ2xEO0VuQ29CQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUs7RUpjVixXQUFZLEVBQUEsSUFBQztFQUFiLGNBQVksRUFBQSxJQUFDLEd1Q3JDakI7RWxDT2tDLHdCQUF3QixPQUFPLENBQXhEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7RUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0MzRUwsd0JBQXdCLENBQ2xEO012Q3lFTyxXQUFZLEVBQUEsSUFBQyxHdUN6RW5CO0V0QzBFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQzNFTCx3QkFBd0IsQ0FDbEQ7TXZDeUVPLFdBQVksRUFBQSxJQUFDLEd1Q3pFbkI7RXRDMEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNDM0VMLHdCQUF3QixDQUNsRDtNdkN5RU8sY0FBWSxFQUFBLElBQUMsR3VDekVuQjtFdEMwRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0MzRUwsd0JBQXdCLENBQ2xEO012Q3lFTyxjQUFZLEVBQUEsSUFBQyxHdUN6RW5COztBdEMwRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0N2RU4sdUJBQXVCLENBQ2hEO0lDbURHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR29DTWxCO0lDd0V5Qyx1QkFBdUIsV0FBVyxDQUExRDtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0N2RU4sdUJBQXVCLENBQ2hEO0lDbURHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR29DTWxCO0lDd0V5Qyx1QkFBdUIsV0FBVyxDQUExRDtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBRGpFYSw4QkFBOEIsQ0FDOUQ7RXZDeUJLLGFBQVksRUFBQSxJQUFDLEd1Q3pCakI7RXRDOERFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNDL0RDLDhCQUE4QixDQUM5RDtNdkM2RE8sYUFBWSxFQUFBLElBQUMsR3VDN0RuQjtFdEM4REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0MvREMsOEJBQThCLENBQzlEO012QzZETyxhQUFZLEVBQUEsSUFBQyxHdUM3RG5CO0V0QzhERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzQy9EQyw4QkFBOEIsQ0FDOUQ7TUFJRyxhQUFhLEVBQUUsQ0FBRSxHQUpuQjs7QUVwQjhELGlCQUFpQixDQUVoRjtFQUNDLFFBQVEsRUFBRSxRQUFTLEdBRG5CO0V4Q2dGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l3Q2xGK0IsaUJBQWlCLENBRWhGO01BR0csV0FBVyxFQUFFLEdBQUksR0FIbkI7O0FBS3VCLHNCQUFzQixDQUM5QztFQUNDLE1BQU0sRUFBRSxDQUFFLEdBRFY7RXhDMEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDM0VSLHNCQUFzQixDQUM5QztNQUdHLFFBQVEsRUFBRSxRQUFTO01BQ25CLElBQUksRUFBRSxDQUFFO01BQ1IsS0FBSyxFQUFFLENBQUU7TUFDVCxNQUFNLEVBQUUsQ0FBRTtNQUNWLE9BQU8sRTdDa09HLENBQUMsRzZDek9iOztBQVN5Qix3QkFBd0IsQ0FDbEQ7RUFDQyxLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLLEdBRmI7O0FBRzBCLHlCQUF5QixDQUVwRDtFQUNDLFdBQVcsRUF4Qk8sSUFBaUI7RUF5Qm5DLFlBQVksRWhDa0NKLEVBQUU7RWdDakNWLGFBQWEsRWhDaUNMLEVBQUUsR2dDcENWO0V4QzJERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QzdESix5QkFBeUIsQ0FFcEQ7TUFNRyxVQUFVLEVBQUUsV0FBWTtNQUN4QixLQUFLLEVBQUUsSUFBSztNQUNaLFlBQVksRUFBRSxDQUFFO01BQ2hCLGFBQWEsRUFBRSxDQUFFO01BQ2pCLFdBQVcsRWhDMEJMLEVBQUUsR2dDcENWO0V4QzJERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l3QzdETCx5QkFBeUIsQ0FFcEQ7TUFhRyxLQUFLLEVBQUUsSUFBSztNQUNaLFFBQVEsRUFBRSxRQUFTO01BQ25CLE9BQU8sRTdDME1HLEVBQUU7TTZDek1aLElBQUksRUFBRSxDQUFFO01BQ1IsT0FBTyxFQUFFLENBQUU7TUFDWCxHQUFHLEVBekNhLElBQWlCO01BMENqQyxXQUFXLEVoQ2FMLE9BQVMsR2dDaENqQjs7QUFxQnlCLHdCQUF3QixDQUVsRDtFQUNDLEtBQUssRTdDbEJlLE9BQU87RTZDbUIzQixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsQ0FBRTtFekNKTixTQUFZLEVBQUEsSUFBQyxHeUNDakI7RXhDb0NFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDdENMLHdCQUF3QixDQUVsRDtNekNtQ08sU0FBWSxFQUFBLElBQUMsR3lDbkNuQjtFeENvQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0N0Q0wsd0JBQXdCLENBRWxEO016Q21DTyxTQUFZLEVBQUEsSUFBQyxHeUNuQ25CO0V4Q29DRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l3Q3RDTix3QkFBd0IsQ0FFbEQ7TXpDbUNPLFNBQVksRUFBQSxJQUFDLEd5Q25DbkI7RUFnQkYsd0JBQXdCLE9BQU87RUFDQyx3QkFBd0IsTUFBTSxDQUZwRDtJQUNOLFFBQVEsRUFBRSxRQUFTO0lBQ25CLE9BQU8sRUFBRSxFQUFHO0lBQ1osVUFBVSxFN0NuQ1EsT0FBTyxHNkNnQ2xCO0VBS3dCLHdCQUF3QixNQUFNLENBQXZEO0lBQ04sS0FBSyxFQUFFLEdBQUk7SUFDWCxNQUFNLEVBckVVLElBQUk7SUFzRXBCLEdBQUcsRUFyRWEsS0FBaUI7SUFzRWpDLElBQUksRUFBRSxJQUFpQixHQUpoQjtFQU15Qix3QkFBd0IsT0FBTyxDQUF4RDtJQUNQLE1BQU0sRUFBRSxHQUFJO0lBQ1osS0FBSyxFQTNFVyxJQUFJO0lBNEVwQixHQUFHLEVBQUUsS0FBQztJQUNOLElBQUksRUFBRSxDQUFFLEdBSkE7O0FBTWtCLDJCQUEyQixDQUN4RDtFQUNDLEtBQUssRTdDbkRlLE9BQU87RTZDb0QzQixXQUFXLEU3QzVFVyxPQUFPLEVBQUUsSUFBSTtFNkM2RW5DLGNBQWMsRUFBRSxTQUFVO0VBQzFCLGNBQWMsRUFBRSxJQUFLO0V6Q3RDakIsU0FBWSxFQUFBLElBQUMsR3lDa0NqQjtFeENHRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3Q0pGLDJCQUEyQixDQUN4RDtNekNFTyxTQUFZLEVBQUEsSUFBQyxHeUNGbkI7RXhDR0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJd0NKSCwyQkFBMkIsQ0FDeEQ7TXpDRU8sU0FBWSxFQUFBLElBQUMsR3lDRm5COztBQWMrQiw4QkFBOEIsQ0FDOUQ7RUFDQyxLQUFLLEU3Q2xFZSxPQUFPO0U2Q21FM0IsV0FBVyxFN0MzRlcsT0FBTyxFQUFFLElBQUk7RUl3Qy9CLFNBQVksRUFBQSxJQUFDLEd5Q2lEakI7RXhDWkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0NXQyw4QkFBOEIsQ0FDOUQ7TXpDYk8sU0FBWSxFQUFBLElBQUMsR3lDYW5CO0V4Q1pFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDV0MsOEJBQThCLENBQzlEO016Q2JPLFNBQVksRUFBQSxJQUFDLEd5Q2FuQjs7QUFZd0IsdUJBQXVCLENBQ2hEO0VBQ0MsWUFBWSxFaENqREosRUFBRTtFZ0NrRFYsYUFBYSxFaENsREwsRUFBRTtFZ0NtRFYsY0FBYyxFN0MwQ0QsSUFBSSxHNkM3Q2pCO0V4Q3pCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3Q3dCTix1QkFBdUIsQ0FDaEQ7TUFLRyxXQUFXLEU3Q3lDQSxJQUFJO002Q3hDZixjQUFjLEVBQUUsQ0FBRTtNQUNsQixZQUFZLEVBQUUsQ0FBRTtNQUNoQixhQUFhLEVBQUUsQ0FBRTtNQUNqQixZQUFZLEVoQ3pETixFQUFFO01nQzBEUixVQUFVLEVBQUUsS0FBTTtNQUNsQixRQUFRLEVBQUUsUUFBUztNQUNuQixLQUFLLEVBQUUsQ0FBRTtNQUNULEdBQUcsRUFBRSxDQUFFLEdBYlQ7RXhDekJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDd0JQLHVCQUF1QixDQUNoRDtNQWdCRyxZQUFZLEVoQ3BFTixPQUFTO01nQ3FFZixRQUFRLEVBQUUsUUFBUztNQUNuQixLQUFLLEVBQUUsQ0FBRTtNQUNULFdBQVcsRUFBRSxDQUFFO01BQ2YsR0FBRyxFN0N3QlEsSUFBSTtNNkN2QmYsT0FBTyxFN0NnSEcsRUFBRSxHNkNySWQ7O0FBdUJ5Qix3QkFBd0IsQ0FDbEQ7RUFDQyxPQUFPLEVBQUUsS0FBTTtFQUNmLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLEtBQUssRTdDekdlLE9BQU8sRzZDc0czQjs7QUFJOEIsNkJBQTZCLENBQzVEO0VBQ0MsY0FBYyxFQUFFLEdBQUk7RUFDcEIsV0FBVyxFQUFFLENBQUU7RUFDZixPQUFPLEVBQUUsS0FBTTtFQUNmLGFBQWEsRTdDVUEsSUFBSTtFSXpHYixZQUFZLEVBQUEsQ0FBQyxHeUMyRmpCO0V4Q3RERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3Q3FEQSw2QkFBNkIsQ0FDNUQ7TUFNRyxPQUFPLEVBQUUsWUFBYTtNQUN0QixhQUFhLEVBQUUsQ0FBRSxHQVBuQjtFeEN0REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0NxREEsNkJBQTZCLENBQzVEO016Q3ZETyxZQUFZLEVBQUEsSUFBQyxHeUN1RG5CO0V4Q3RERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3Q3FEQSw2QkFBNkIsQ0FDNUQ7TXpDdkRPLFlBQVksRUFBQSxJQUFDLEd5Q3VEbkI7RXhDdERFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDcURELDZCQUE2QixDQUM1RDtNekN2RE8sWUFBWSxFQUFBLElBQUMsR3lDdURuQjtFQW1CMkMsNkJBQTZCLFdBQVcsQ0FBdEU7SUFDWCxZQUFZLEVBQUUsQ0FBRTtJQUNoQixhQUFhLEVBQUUsQ0FBRSxHQUZMOztBQUlxQixrQ0FBa0MsQ0FDdEU7RUFDQyxPQUFPLEVBQUUsS0FBTTtFekNwSFgsYUFBWSxFQUFBLEdBQUM7RUFBYixTQUFZLEVBQUEsSUFBQyxHeUNtSGpCO0V4QzlFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QzZFSyxrQ0FBa0MsQ0FDdEU7TXpDL0VPLGFBQVksRUFBQSxJQUFDLEd5QytFbkI7RXhDOUVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdDNkVLLGtDQUFrQyxDQUN0RTtNekMvRU8sU0FBWSxFQUFBLElBQUMsR3lDK0VuQjs7QUFrQnNDLHFDQUFxQyxDQUM1RTtFQUNDLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFN0N2S1csR0FBRztFSStCckIsU0FBWSxFQUFBLElBQUMsR3lDc0lqQjtFeENqR0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0NnR1EscUNBQXFDLENBQzVFO016Q2xHTyxTQUFZLEVBQUEsSUFBQyxHeUNrR25CO0V4Q2pHRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3Q2dHUSxxQ0FBcUMsQ0FDNUU7TXpDbEdPLFNBQVksRUFBQSxJQUFDLEd5Q2tHbkI7RXhDakdFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDZ0dPLHFDQUFxQyxDQUM1RTtNekNsR08sU0FBWSxFQUFBLElBQUMsR3lDa0duQjs7QUFhK0IsOEJBQThCLENBQzlEO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEU3Qy9MVyxhQUFhLEVBQUUsVUFBVTtFNkNnTS9DLFdBQVcsRUFBRSxNQUFPO0V6Q3ZKaEIsU0FBWSxFQUFBLElBQUMsR3lDb0pqQjtFeEMvR0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0M4R0MsOEJBQThCLENBQzlEO016Q2hITyxTQUFZLEVBQUEsSUFBQyxHeUNnSG5CO0V4Qy9HRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QzhHQyw4QkFBOEIsQ0FDOUQ7TXpDaEhPLFNBQVksRUFBQSxJQUFDLEd5Q2dIbkI7RXhDL0dFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDOEdBLDhCQUE4QixDQUM5RDtNekNoSE8sU0FBWSxFQUFBLElBQUMsR3lDZ0huQjtFQWNtQyw4QkFBOEIsQ0FBQyxFQUFFLENBQWpFO0lBQ0QsVUFBVSxFQUFFLE1BQU87SXpDbktqQixTQUFZLEVBQUEsSUFBQyxHeUNrS2I7SXhDN0hGLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TXdDNkhLLDhCQUE4QixDQUFDLEVBQUUsQ0FBakU7UXpDOUhHLFNBQVksRUFBQSxJQUFDLEd5QzhIZjtJeEM3SEYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNd0M2SEssOEJBQThCLENBQUMsRUFBRSxDQUFqRTtRekM5SEcsU0FBWSxFQUFBLElBQUMsR3lDOEhmO0l4QzdIRixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO013QzZISSw4QkFBOEIsQ0FBQyxFQUFFLENBQWpFO1F6QzlIRyxTQUFZLEVBQUEsSUFBQyxHeUM4SGY7O0FBYW1CLHNCQUFzQixDQUU5QztFQUNDLE9BQU8sRUFBRSxZQUFhO0VBQ3RCLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFFBQVEsRUFBRSxRQUFTO0V6Q3BMZixTQUFZLEVBQUEsSUFBQztFQUFiLFVBQVksRUFBQSxJQUFDO0V5Q3dNakIsYUFBYSxFQUFFLElBQUssR0F2QnBCO0V4QzVJRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3QzBJUCxzQkFBc0IsQ0FFOUM7TXpDN0lPLFNBQVksRUFBQSxJQUFDO01BQWIsVUFBWSxFQUFBLElBQUMsR3lDNkluQjtFeEM1SUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0MwSVAsc0JBQXNCLENBRTlDO016QzdJTyxTQUFZLEVBQUEsSUFBQztNQUFiLFVBQVksRUFBQSxJQUFDLEd5QzZJbkI7RXhDNUlFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXdDMElSLHNCQUFzQixDQUU5QztNekM3SU8sU0FBWSxFQUFBLElBQUM7TUFBYixVQUFZLEVBQUEsSUFBQyxHeUM2SW5CO0UvQ3ROZ0Msc0JBQXNCLE9BQU8sQ0FBcEQ7SUFDUCx1QkFBdUIsRUFBRSxTQUFVO0lBQ25DLHNCQUFzQixFQUFFLFdBQVk7SUFDcEMsT0FBTyxFQThEUSxLQUFPO0lBN0R0QixXQUFXLEVBQUUsT0FBUTtJQUNyQixVQUFVLEVBQUUsTUFBTztJQUNuQixZQUFZLEVBQUUsTUFBTztJQUNyQixXQUFXLEVBQUUsTUFBTztJQUNwQixXQUFXLEVBQUUsQ0FBRTtJQUNmLEtBQUssRUFBRSxJQUFLO0lBQ1osY0FBYyxFQUFFLElBQUssR0FWYjtFK0M4T3NCLHNCQUFzQixPQUFPLENBQXBEO0lBQ1AsUUFBUSxFQUFFLFFBQVM7SUFDbkIsS0FBSyxFQUFFLENBQUU7SUFDVCxHQUFHLEVBQUUsR0FBSTtJQUNULFNBQVMsRUFBRSxHQUFJO0lBQ2YsU0FBUyxFQUFFLGFBQU0sR0FMVDs7QUN2UDhGLHdDQUF3QyxFQUFzQyxrQ0FBa0MsQ0FLek47RUFFQyxPQUFPLEVBQUUsS0FBTTtFQUNmLFdBQVcsRUFBRSxJQUFLO0VBRWxCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFlBQVksRTlDNklDLElBQUksRzhDbkpqQjtFaERJNEYsd0NBQXdDLE9BQU8sRUFBNkMsa0NBQWtDLE9BQU8sQ0FBeE47SUFDUCx1QkFBdUIsRUFBRSxTQUFVO0lBQ25DLHNCQUFzQixFQUFFLFdBQVk7SUFDcEMsT0FBTyxFQTRGQyxLQUFPO0lBM0ZmLFdBQVcsRUFBRSxPQUFRO0lBQ3JCLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFlBQVksRUFBRSxNQUFPO0lBQ3JCLFdBQVcsRUFBRSxNQUFPO0lBQ3BCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixjQUFjLEVBQUUsSUFBSyxHQVZiO0VnREdrRix3Q0FBd0MsT0FBTyxFQUE2QyxrQ0FBa0MsT0FBTyxDQUF4TjtJQUNQLFNBQVMsRUFBRSxJQUFLO0lBQ2hCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLElBQUksRUFBRSxDQUFFO0lBQ1IsV0FBVyxFQUFFLElBQUs7SUFDbEIsR0FBRyxFQUFFLEdBQUk7SUFDVCxVQUFVLEVBQUUsSUFBSztJQUNqQixVQUFVLEVBQUUsR0FBRyxDOUNDTSxLQUFLLENBRUwsV0FBVyxDOENIb0IsS0FBZ0IsR0FQNUQ7STVDMkVnSSxlQUFlLENBQUMsd0NBQXdDLE9BQU8sTUFBTSxFQUFtRSxlQUFlLENBQUMsa0NBQWtDLE9BQU8sTUFBTSxDQUF2VTtNNENsRU4sU0FBUyxFQUFFLFVBQUssRzVDa0VUOztBNEMvRFksc0JBQXNCLENBRTlDO0V0Q0dDLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSztFc0NKZCxhQUFhLEU5QzJIQSxJQUFJLEc4QzdIakI7RXJDVmdDLHNCQUFzQixPQUFPLENBQXBEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0FxQ2FtQiw0QkFBNEIsQ0FDMUQ7RTFDZ0JLLFdBQVksRUFBQSxJQUFDO0VBQWIsY0FBWSxFQUFBLElBQUM7RVFwQmpCLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUUsR2lDOUJWO0V6Q3FERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5Q3RERCw0QkFBNEIsQ0FDMUQ7TTFDb0RPLFdBQVksRUFBQSxJQUFDLEcwQ3BEbkI7RXpDcURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlDdERELDRCQUE0QixDQUMxRDtNMUNvRE8sV0FBWSxFQUFBLElBQUMsRzBDcERuQjtFekNxREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUN0REQsNEJBQTRCLENBQzFEO00xQ29ETyxjQUFZLEVBQUEsSUFBQyxHMENwRG5CO0V6Q3FERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5Q3RERCw0QkFBNEIsQ0FDMUQ7TTFDb0RPLGNBQVksRUFBQSxJQUFDLEcwQ3BEbkI7RXpDcURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXlDdERGLDRCQUE0QixDQUMxRDtNbENURyxZQUFZLEVDbUNOLE9BQVM7TURsQ2YsYUFBYSxFQ2tDUCxPQUFTLEdpQzFCakI7O0FBRzRCLDJCQUEyQixDQUN4RDtFdENMQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUs7RUpjVixhQUFZLEVBQUEsSUFBQyxHMENaakI7RXJDbEJxQywyQkFBMkIsT0FBTyxDQUE5RDtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQO0VKbUVSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlDbERGLDJCQUEyQixDQUN4RDtNMUNnRE8sYUFBWSxFQUFBLElBQUMsRzBDaERuQjtFekNpREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUNsREYsMkJBQTJCLENBQ3hEO00xQ2dETyxhQUFZLEVBQUEsSUFBQyxHMENoRG5CO0V6Q2lERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l5Q2xESCwyQkFBMkIsQ0FDeEQ7TTFDZ0RPLGFBQVksRUFBQSxJQUFDLEcwQ2hEbkI7RUFZeUMsMkJBQTJCLFdBQVcsQ0FBbEU7SUFDWCxhQUFhLEVBQUUsQ0FBRSxHQURMOztBekNxQ1osTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeUNsQ0YsMkJBQTJCLENBQ3hEO0lGY0csS0FBSyxFQUFBLElBQUM7SUFHSixPQUFPLEVBQUUsS0FBTTtJQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtJcUN1RWQsS0FBSyxFckM1RUQsU0FBVTtJdUMrQ2hCLGFBQWEsRTlDa0dGLElBQUksRzhDdEdqQjtJRm1DNkMsMkJBQTJCLFdBQVcsQ0FBbEU7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjtJR2JpRiwyQkFBMkIsV0FBQSxBQUFXLEVBQUEsRUFFeEk7TUFDQyxZQUFvQixFQUFFLENBQUUsR0FEeEI7SUFJa0csMkJBQTJCLFdBQUEsQUFBVyxJQUFBLEVBQ3ZJO01BQ0MsS0FBSyxFQ3VCWSxJQUFJLEdEeEJyQjs7QTFDSUYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeUNsQ0YsMkJBQTJCLENBQ3hEO0lGY0csS0FBSyxFQUFBLElBQUM7SUFHSixPQUFPLEVBQUUsS0FBTTtJQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtJcUN1RWQsS0FBSyxFckM1RUQsU0FBVSxHdUMyQ2xCO0lGbUM2QywyQkFBMkIsV0FBVyxDQUFsRTtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFeUNsQ0YsMkJBQTJCLENBQ3hEO0lBWUcsS0FBSyxFQUFFLElBQUs7SUFDWixTQUFTLEVBQUUsS0FBTTtJQUNqQixXQUFXLEVBQUUsQ0FBRTtJQUNmLFlBQVksRUFBRSxDQUFFO0lBQ2hCLGFBQWEsRTlDc0ZGLElBQUk7SThDckZmLEtBQUssRUFBRSxJQUFLLEdBakJkO0lBa0IyQywyQkFBMkIsV0FBVyxDQUFsRTtNQUNYLGFBQWEsRUFBRSxDQUFFLEdBREw7O0FBSWMsNkJBQTZCLENBQzVEO0VBRUMsYUFBYSxFOUM2RUEsSUFBSSxHOEMvRWpCOztBQVF5Qyx3Q0FBd0MsQ0FDbEY7RUFFQyxLQUFLLEU5Q3hEZSxPQUFPO0U4Q3lEM0IsV0FBVyxFQUFFLENBQUUsR0FIZjtFckNsRWtELHdDQUF3QyxPQUFPLENBQXhGO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0FxQ3NFK0Isd0NBQXdDLENBQ2xGO0VBQ0MsS0FBSyxFQUFFLElBQUs7RUFDWixLQUFLLEVBQUUsR0FBSTtFQUNYLGFBQWEsRTlDNkRBLElBQUksRzhDaEVqQjtFQUkwRSx3Q0FBd0MsV0FBQSxBQUFXLElBQUEsRUFBM0c7SUFDaEIsS0FBSyxFQUFFLElBQUssR0FESzs7QUFHdUIseUNBQXlDLENBQ3BGO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEU5QzNGVyxPQUFPLEVBQUUsSUFBSTtFOEM0Rm5DLFdBQVcsRTlDckZXLEdBQUc7RThDc0Z6QixhQUFhLEU5Q2lEQSxHQUFHO0VJdEdaLFNBQVksRUFBQSxJQUFDLEcwQ2lEakI7RXpDWkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUNXWSx5Q0FBeUMsQ0FDcEY7TTFDYk8sU0FBWSxFQUFBLElBQUMsRzBDYW5CO0V6Q1pFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlDV1kseUNBQXlDLENBQ3BGO00xQ2JPLFNBQVksRUFBQSxJQUFDLEcwQ2FuQjtFekNaRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l5Q1dXLHlDQUF5QyxDQUNwRjtNMUNiTyxTQUFZLEVBQUEsSUFBQyxHMENhbkI7O0FBZTBDLHlDQUF5QyxDQUNwRjtFQUNDLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFQUFFLE1BQU87RUFDcEIsV0FBVyxFOUM3R1csYUFBYSxFQUFFLFVBQVU7RUl5QzNDLFNBQVksRUFBQSxJQUFDLEcwQ2lFakI7RXpDNUJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlDMkJZLHlDQUF5QyxDQUNwRjtNMUM3Qk8sU0FBWSxFQUFBLElBQUMsRzBDNkJuQjtFekM1QkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUMyQlkseUNBQXlDLENBQ3BGO00xQzdCTyxTQUFZLEVBQUEsSUFBQyxHMEM2Qm5CO0V6QzVCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0l5QzJCVyx5Q0FBeUMsQ0FDcEY7TTFDN0JPLFNBQVksRUFBQSxJQUFDLEcwQzZCbkI7RUFjOEMseUNBQXlDLENBQUMsRUFBRSxDQUF2RjtJQUNELFVBQVUsRUFBRSxNQUFPO0kxQ2hGakIsU0FBWSxFQUFBLElBQUMsRzBDK0ViO0l6QzFDRixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015QzBDZ0IseUNBQXlDLENBQUMsRUFBRSxDQUF2RjtRMUMzQ0csU0FBWSxFQUFBLElBQUMsRzBDMkNmO0l6QzFDRixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015QzBDZ0IseUNBQXlDLENBQUMsRUFBRSxDQUF2RjtRMUMzQ0csU0FBWSxFQUFBLElBQUMsRzBDMkNmO0l6QzFDRixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO015QzBDZSx5Q0FBeUMsQ0FBQyxFQUFFLENBQXZGO1ExQzNDRyxTQUFZLEVBQUEsSUFBQyxHMEMyQ2Y7O0FBYXFDLHdDQUF3QyxDQUNsRjtFQUNDLFVBQVUsRTlDV0csSUFBSSxHOENaakI7O0FBRzBDLHlDQUF5QyxDQUVwRjtFQUNDLE9BQU8sRUFBRSxJQUFLLEdBRGQ7O0FBRThCLDZCQUE2QixDQUU1RDtFMUN0R0ssYUFBWSxFQUFBLElBQUMsRzBDc0dqQjtFekNqRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUMrREEsNkJBQTZCLENBRTVEO00xQ2xFTyxhQUFZLEVBQUEsSUFBQyxHMENrRW5CO0V6Q2pFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5QytEQSw2QkFBNkIsQ0FFNUQ7TTFDbEVPLGFBQVksRUFBQSxJQUFDLEcwQ2tFbkI7RXpDakVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXlDK0RELDZCQUE2QixDQUU1RDtNMUNsRU8sYUFBWSxFQUFBLElBQUMsRzBDa0VuQjs7QUFXbUMsa0NBQWtDLENBQ3RFO0VBRUMsYUFBYSxFQUFFLEdBQUk7RUFFbkIsV0FBVyxFOUNySlcsR0FBRztFOENzSnpCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFVBQVUsRUF0S1ksSUFBSSxHQWdLMUI7RXJDaEo0QyxrQ0FBa0MsT0FBTyxDQUE1RTtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBcUN1SjBCLG1DQUFtQyxDQUN4RTtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLElBQUksRUFBRSxDQUFFO0VBQ1IsR0FBRyxFQUFFLENBQUU7RUFDUCxLQUFLLEVBNUtpQixJQUFJO0VBNksxQixNQUFNLEVBN0tnQixJQUFJLEdBd0sxQjs7QUFNb0MsbUNBQW1DLENBQ3hFO0VBQ0MsV0FBVyxFQUFFLElBQXNCO0VBQ25DLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFQWxMVyxJQUFJLEdBK0sxQjs7QUFJaUMsZ0NBQWdDLENBSWxFO0UxQ3pJSyxhQUFZLEVBQUEsSUFBQyxHMEN5SWpCO0V6Q3BHRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5Q2dHRyxnQ0FBZ0MsQ0FJbEU7TTFDckdPLGFBQVksRUFBQSxJQUFDLEcwQ3FHbkI7RXpDcEdFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlDZ0dHLGdDQUFnQyxDQUlsRTtNMUNyR08sYUFBWSxFQUFBLElBQUMsRzBDcUduQjtFekNwR0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJeUNnR0UsZ0NBQWdDLENBSWxFO00xQ3JHTyxhQUFZLEVBQUEsSUFBQyxHMENxR25COztBQWN3Qyx1Q0FBdUMsQ0FDaEY7RUFFQyxLQUFLLEU5QzFLZSxPQUFPLEc4Q3dLM0I7RUFLRix1Q0FBdUMsQ0FBQyxFQUFFO0VBQ0UsdUNBQXVDLENBQUMsRUFBRSxDQUZqRjtJQUNELE9BQU8sRUFBRSxZQUFhO0lBQ3RCLGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLFdBQVcsRUFBRSxJQUFLLEdBSGhCO0VBS3dDLHVDQUF1QyxDQUFDLEVBQUUsQ0FBbkY7SUFDRCxZQUFZLEU5QzVERCxHQUFHO0k4QzZEZCxLQUFLLEVBQUUsSUFBSztJQUNaLE1BQU0sRUFBRSxJQUFLO0lBQ2IsYUFBYSxFQUFFLElBQUs7SUFDcEIsVUFBVSxFOUN0TFEsT0FBTyxHOENpTHZCO0lBTW9FLHVDQUF1QyxDQUFDLEVBQUUsV0FBQSxBQUFXLENBQUEsRUFBNUc7TUFDYixVQUFVLEVBQUUsT0FBUSxHQUROO0VBSTBCLHVDQUF1QyxDQUFDLEVBQUUsQ0FBbkY7SUFDRCxZQUFZLEU5Q25FRCxJQUFJLEc4Q2tFYjs7QUFRZ0MsbUNBQW1DLENBQ3hFO0VBQ0MsS0FBSyxFOUNyTWUsT0FBTztFOENzTTNCLFdBQVcsRTlDL05XLGFBQWEsRUFBRSxVQUFVO0U4Q2dPL0MsV0FBVyxFQUFFLENBQUU7RUFDZixNQUFNLEVBQUUsQ0FBRTtFMUN4TE4sU0FBWSxFQUFBLElBQUMsRzBDb0xqQjtFekMvSUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUM4SU0sbUNBQW1DLENBQ3hFO00xQ2hKTyxTQUFZLEVBQUEsSUFBQyxHMENnSm5CO0V6Qy9JRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5QzhJTSxtQ0FBbUMsQ0FDeEU7TTFDaEpPLFNBQVksRUFBQSxJQUFDLEcwQ2dKbkI7RXpDL0lFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXlDOElLLG1DQUFtQyxDQUN4RTtNMUNoSk8sU0FBWSxFQUFBLElBQUMsRzBDZ0puQjs7QUFlMEMseUNBQXlDLENBQ3BGO0VBQ0MsV0FBVyxFOUNwT1csR0FBRztFOENxT3pCLE1BQU0sRTlDaEdPLEdBQUcsQzhDZ0dLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUYxQjs7QUFHbUMsa0NBQWtDLENBQ3RFO0VBQ0MsVUFBVSxFOUNoR0csSUFBSSxHOEMrRmpCOztBQUdvQyxtQ0FBbUMsQ0FDeEU7RUFDQyxPQUFPLEVBQUUsSUFBSyxHQURkOztBckMxT3VDLDZCQUE2QixPQUFPLENBQWxFO0VBQ1AsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsRUFBRztFQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0FxQ2tQeUIsa0NBQWtDLENBQ3RFO0VBQ0MsS0FBSyxFQUFFLElBQUs7RUFDWixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxDQUFDLEM5Qy9HSSxJQUFJLENBQUosSUFBSSxDOEMrR1csQ0FBQyxHQUg3Qjs7QUFJbUMsa0NBQWtDLENBQ3RFO0VBQ0MsT0FBTyxFQUFFLEtBQU0sR0FEZjs7QUcxUW9ELGNBQWMsQ0FFbkU7RTdDOENLLE9BQVksRUFBQSxTQUFDO0U2Q25DakIsTUFBTSxFakQ0SU8sSUFBSSxDaUQ1SUEsQ0FBQztFQUNsQixVQUFVLEVqRG9CVSx3QkFBTztFaURuQjNCLFVBQVUsRUFBRSxNQUFPLEdBYm5CO0U1Q21GRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k0Q3JGc0IsY0FBYyxDQUVuRTtNN0NrRk8sT0FBWSxFQUFBLFNBQUMsRzZDbEZuQjtFNUNtRkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNENyRnNCLGNBQWMsQ0FFbkU7TTdDa0ZPLE9BQVksRUFBQSxTQUFDLEc2Q2xGbkI7RTVDbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07STRDckZxQixjQUFjLENBRW5FO003Q2tGTyxPQUFZLEVBQUEsU0FBQyxHNkNsRm5COztBQWlCcUIsb0JBQW9CLENBQzFDO0VBQ0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqRFVHLE9BQU87RWlEVDNCLEtBQUssRWpEU2UsT0FBTztFaURSM0IsT0FBTyxFQUFFLFlBQWE7RUFHdEIsV0FBVyxFakRYVyxHQUFHO0VpRFl6QixPQUFPLEVqRDhITSxJQUFJLENBQ0osSUFBSTtFaUQ5SGpCLFdBQVcsRUFBRSxDQUFFLEdBUmY7RUFTNkIsb0JBQW9CLE1BQU0sQ0FBL0M7SUFFTixPQUFPLEVBQUUsWUFBYTtJQUN0QixjQUFjLEVBQUUsTUFBTztJQUN2QixPQUFPLEVuRDJDUSxLQUFPO0ltRDFDdEIsU0FBUyxFQUFFLEdBQUk7SUFDZixXQUFXLEVqRG1IQSxHQUFHO0lpRGxIZCxLQUFLLEVqRExhLE9BQU87SWlETXpCLFNBQVMsRUFBRSxhQUFNLEdBUlY7RS9DNERzQyxlQUFlLENBQUMsb0JBQW9CLE1BQU0sQ0FBL0U7SStDakRSLEtBQUssRWpERmEsT0FBTztJaURHekIsWUFBWSxFakRITSxPQUFPLEdFbURoQjs7QWdEekY2QyxrQkFBa0IsQ0FFM0U7RUFDQyxZQUFZLEVyQzJESixFQUFFO0VxQzFEVixhQUFhLEVyQzBETCxFQUFFO0VUZE4sV0FBWSxFQUFBLElBQUM7RUFBYixjQUFZLEVBQUEsSUFBQyxHOEM5Q2pCO0U3Q21GRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2Q3JGMEIsa0JBQWtCLENBRTNFO005Q2tGTyxXQUFZLEVBQUEsSUFBQztNQUFiLGNBQVksRUFBQSxJQUFDLEc4Q2xGbkI7RTdDbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZDckYwQixrQkFBa0IsQ0FFM0U7TTlDa0ZPLFdBQVksRUFBQSxJQUFDO01BQWIsY0FBWSxFQUFBLElBQUMsRzhDbEZuQjtFN0NtRkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNkNyRnlCLGtCQUFrQixDQUUzRTtNOUNrRk8sV0FBWSxFQUFBLElBQUM7TUFBYixjQUFZLEVBQUEsSUFBQyxHOENsRm5COztBQ0F1QyxnQkFBZ0IsQ0FFeEQ7RUFDQyxVQUFVLEVuRHNDVSxPQUFPO0VtRHJDM0IsYUFBYSxFbkRtSkEsSUFBSSxHbURySmpCOztBQUc0QiwyQkFBMkIsQ0FDeEQ7RTNDdUJDLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSyxHMkMxQmQ7RTFDVXFDLDJCQUEyQixPQUFPLENBQTlEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0EwQ1JhLHNCQUFzQixDQUM5QztFL0NxQ0ssV0FBWSxFQUFBLElBQUM7RUFBYixjQUFZLEVBQUEsSUFBQztFUXBCakIsWUFBWSxFQ2tDSixFQUFFO0VEakNWLGFBQWEsRUNpQ0wsRUFBRSxHc0NuRFY7RTlDMEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThDM0VQLHNCQUFzQixDQUM5QztNL0N5RU8sV0FBWSxFQUFBLElBQUMsRytDekVuQjtFOUMwRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEMzRVAsc0JBQXNCLENBQzlDO00vQ3lFTyxXQUFZLEVBQUEsSUFBQyxHK0N6RW5CO0U5QzBFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k4QzNFUCxzQkFBc0IsQ0FDOUM7TS9DeUVPLGNBQVksRUFBQSxJQUFDLEcrQ3pFbkI7RTlDMEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThDM0VQLHNCQUFzQixDQUM5QztNL0N5RU8sY0FBWSxFQUFBLElBQUMsRytDekVuQjtFOUMwRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJOEMzRVIsc0JBQXNCLENBQzlDO012Q1lHLFlBQVksRUNtQ04sT0FBUztNRGxDZixhQUFhLEVDa0NQLE9BQVMsR3NDL0NqQjs7QUFHc0IscUJBQXFCLENBQzVDO0UzQ2dCQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUssRzJDbkJkO0UxQ0crQixxQkFBcUIsT0FBTyxDQUFsRDtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBMENFMEIscUJBQXFCLFlBQVksQ0FBdkQ7RUFDWixhQUFhLEVuRHNJRixJQUFJLEdtRHZJRjtFOUNpRWIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOENqRU0scUJBQXFCLFlBQVksQ0FBdkQ7TUFHVixhQUFhLEVBQUUsQ0FBRSxHQUhOOztBQU82QyxxQkFBcUIsV0FBVyxDQUFDLHVCQUF1QixDQUEzRjtFQUNyQixhQUFhLEVBQUUsSUFBSyxHQURFOztBOUMwRHhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThDcEVSLHFCQUFxQixDQUU1QztJUCtDRyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEc0Q1VsQjtJUG9FdUMscUJBQXFCLFdBQVcsQ0FBdEQ7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QXZDRmhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RThDcEVSLHFCQUFxQixDQUU1QztJUCtDRyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEc0Q1VsQjtJUG9FdUMscUJBQXFCLFdBQVcsQ0FBdEQ7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QU9sRE0sdUJBQXVCLENBQ2hEO0VBRUMsYUFBYSxFbkRrSEEsSUFBSSxHbURwSGpCOztBQU91QixzQkFBc0IsQ0FDOUM7RUFDQyxRQUFRLEVBQUUsUUFBUztFQUNuQixVQUFVLEVBOUNNLElBQUk7RS9DOENoQixhQUFZLEVBQUEsSUFBQyxHK0NGakI7RTlDdUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SThDeENQLHNCQUFzQixDQUM5QztNL0NzQ08sYUFBWSxFQUFBLElBQUMsRytDdENuQjtFOUN1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJOEN4Q1Asc0JBQXNCLENBQzlDO00vQ3NDTyxhQUFZLEVBQUEsSUFBQyxHK0N0Q25CO0U5Q3VDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0k4Q3hDUixzQkFBc0IsQ0FDOUM7TS9Dc0NPLGFBQVksRUFBQSxJQUFDLEcrQ3RDbkI7RUFhb0Msc0JBQXNCLFdBQVcsQ0FBeEQ7SUFDWCxhQUFhLEVBQUUsQ0FBRSxHQURMOztBQUdTLHNCQUFzQixDQUM5QztFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLElBQUksRUFBRSxDQUFFO0VBQ1IsR0FBRyxFQUFFLENBQUU7RUFDUCxLQUFLLEVBakVXLElBQUk7RUFrRXBCLE1BQU0sRUFsRVUsSUFBSSxHQTZEcEI7O0FBTTBCLHlCQUF5QixDQUNwRDtFQUNDLFlBQVksRUFBRSxJQUFnQixHQUQ5Qjs7QUFFZ0MsK0JBQStCLENBQ2hFO0VBQ0MsTUFBTSxFQUFFLENBQUU7RUFFVixXQUFXLEVuRDdEVyxHQUFHO0VtRDhEekIsS0FBSyxFbkQvQ2UsT0FBTztFbURnRDNCLFdBQVcsRW5EdEVXLE9BQU8sRUFBRSxJQUFJLEdtRGlFbkM7O0FBTWtDLGlDQUFpQyxDQUNwRTtFQUNDLFdBQVcsRW5EaEVXLEdBQUcsR21EK0R6Qjs7QUM1RTRCLDJCQUEyQixDQUN4RDtFNUMwQkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEc0QzdCZDtFM0NhcUMsMkJBQTJCLE9BQU8sQ0FBOUQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDtFSm1FUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQ2pGRiwyQkFBMkIsQ0FDeEQ7TUFHRyxVQUFVLEVBQUUsTUFBTyxHQUhyQjs7QS9DZ0ZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RStDM0VGLDJCQUEyQixDQUN4RDtJQUVHLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE1BQU0sRUFBRSxDQUFDLENwRHdJRSxHQUFHLEdvRDNJaEI7O0EvQzBFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0UrQzNFRiwyQkFBMkIsQ0FDeEQ7SVJ1REcsS0FBSyxFQUFBLElBQUM7SUFHSixPQUFPLEVBQUUsS0FBTTtJQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtJcUN1RWQsS0FBSyxFckM1RUQsU0FBVTtJNkNTaEIsVUFBVSxFcER5QlEsT0FBTyxHb0RoQzNCO0lSNEU2QywyQkFBMkIsV0FBVyxDQUFsRTtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBUW5FVyw0QkFBNEIsQ0FFMUQ7RUFDQyxVQUFVLEVBQUUsTUFBTztFQUVuQixhQUFhLEVwRGlJQSxJQUFJLEdvRHBJakI7O0FBSTRCLDJCQUEyQixDQUV4RDtFQUNDLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFcEREZSxPQUFPO0VvREUzQixlQUFlLEVBQUUsSUFBSyxHQUp0QjtFbEQ2RHNELGVBQWUsQ0FBQywyQkFBMkIsTUFBTSxDQUE3RjtJa0R2RFIsS0FBSyxFcER1R3dCLE9BQU0sR0VoRDFCO0lHSlQsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztNSEl3QixlQUFlLENBQUMsMkJBQTJCLE1BQU0sQ0FBN0Y7UWtEckROLEtBQUssRXBETFcsT0FBTyxHRTBEaEI7RUFPNEMsZUFBZSxDQUFDLDJCQUEyQixPQUFPLENBQTlGO0lrRHhEVCxLQUFLLEVwRGtHd0IsT0FBTSxHRTFDekI7SUdYVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO01IV3lCLGVBQWUsQ0FBQywyQkFBMkIsT0FBTyxDQUE5RjtRa0R0RFAsS0FBSyxFcERYVyxPQUFPLEdFaUVmO0VHWFYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0MzREYsMkJBQTJCLENBRXhEO01Ba0JHLFdBQVcsRUFBRSxHQUFJLEdBbEJuQjtFL0N5REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0NuQ1EsMkJBQTJCLE1BQU0sQ0FBN0Q7TUFDTixRQUFRLEVBQUUsUUFBUztNQUNuQixJQUFJLEVBQUUsQ0FBRTtNQUNSLEtBQUssRUFBRSxDQUFFO01BQ1QsR0FBRyxFQUFFLENBQUU7TUFDUCxNQUFNLEVBQUUsQ0FBRTtNQUNWLEtBQUssRUFBRSxJQUFLO01BQ1osTUFBTSxFQUFFLElBQUs7TUFDYixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BEMUJSLE9BQU8sR29Ea0JoQjtJQVU0QiwyQkFBMkIsT0FBTyxDQUE5RDtNQUNQLEdBQUcsRUFBRSxJQUFLO01BQ1YsSUFBSSxFQUFFLEdBQUk7TUFDVixNQUFNLEVBQUUsaUJBQWtCO01BQzFCLE1BQU0sRUFBRSxDQUFFO01BQ1YsS0FBSyxFQUFFLENBQUU7TUFDVCxRQUFRLEVBQUUsUUFBUztNQUNuQixjQUFjLEVBQUUsSUFBSztNQUNyQixnQkFBZ0IsRXBEcENBLE9BQU87TW9EcUN2QixZQUFZLEVBQUUsSUFBSztNQUNuQixXQUFXLEVBQUUsS0FBTSxHQVZYO0lBY2QsMkJBQTJCLE1BQU07SUFDRywyQkFBMkIsT0FBTyxDQUZ6RDtNQUNQLE9BQU8sRUFBRSxFQUFHO01BQ1osT0FBTyxFcER5S0MsQ0FBQztNb0R4S1QsT0FBTyxFQUFFLENBQUU7TUFDWCxVQUFVLEVBQUUsTUFBTztNQUNuQixVQUFVLEVBQUUsR0FBRyxDcER2REksS0FBSyxDQUNMLFdBQVcsQ0FGWCxLQUFLLEdvRG1EaEI7SUFVZCxVQUFVLDJCQUEyQixPQUFPO0lBQ0MsVUFBVSwyQkFBMkIsTUFBTSxDQUYxRTtNQUNOLE9BQU8sRUFBRSxDQUFFO01BQ1gsVUFBVSxFQUFFLE9BQVEsR0FGYjtFL0NHWCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQ0tVLFVBQVUsMkJBQTJCLENBQWpFO01BRVIsS0FBSyxFcEQ3RFcsT0FBTyxHb0QyRGQ7RS9DTFgsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0NpQitELGVBQWUsQ0FBQywyQkFBMkIsTUFBTSxDQUFDLDRCQUE0QixNQUFNLENBQW5LO01BQ04sU0FBUyxFQUFFLGFBQVU7TUFDckIsT0FBTyxFQUFFLENBQUUsR0FGSjs7QUFPYyw0QkFBNEIsQ0FFMUQ7RUFDQyxPQUFPLEVBQUUsSUFBSyxHQURkO0UvQzFCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQ3dCRCw0QkFBNEIsQ0FFMUQ7TUFHRyxPQUFPLEVBQUUsS0FBTTtNQUNmLFFBQVEsRUFBRSxRQUFTO01BQ25CLEtBQUssRUFBRSxDQUFFO01BQ1QsTUFBTSxFQUFFLENBQUU7TUFDVixNQUFNLEVBQUUsSUFBSztNQUNiLE9BQU8sRXBEOEhHLENBQUMsR29EdEliOztBQVU2Qiw0QkFBNEIsQ0FFMUQ7RUFDQyxXQUFXLEVwRHJIVyxhQUFhLEVBQUUsVUFBVTtFb0RzSC9DLFdBQVcsRUFBRSxHQUFJO0VBQ2pCLE9BQU8sRXBEcUhLLEVBQUU7RUluTVYsU0FBWSxFQUFBLElBQUM7RUFBYixZQUFZLEVBQUEsQ0FBQyxHZ0QyRWpCO0UvQ3RDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQ29DRCw0QkFBNEIsQ0FFMUQ7TWhEdkNPLFNBQVksRUFBQSxJQUFDLEdnRHVDbkI7RS9DdENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStDb0NELDRCQUE0QixDQUUxRDtNaER2Q08sU0FBWSxFQUFBLElBQUM7TUFBYixZQUFZLEVBQUEsSUFBQyxHZ0R1Q25CO0UvQ3RDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0krQ29DRCw0QkFBNEIsQ0FFMUQ7TWhEdkNPLFNBQVksRUFBQSxJQUFDO01BQWIsWUFBWSxFQUFBLElBQUMsR2dEdUNuQjtFL0N0Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0NvQ0QsNEJBQTRCLENBRTFEO01BdUJHLFFBQVEsRUFBRSxRQUFTLEdBdkJyQjtNQXdCdUMsNEJBQTRCLE1BQU0sQ0FBL0Q7UUFDTixRQUFRLEVBQUUsUUFBUztRQUNuQixHQUFHLEVBQUUsSUFBSztRQUNWLElBQUksRUFBRSxDQUFFO1FBQ1IsS0FBSyxFQUFFLENBQUU7UUFDVCxNQUFNLEVBQUUsR0FBSTtRQUNaLFVBQVUsRXBEMUhNLE9BQU87UW9EMkh2QixPQUFPLEVBQUUsRUFBRztRQUNaLFVBQVUsRUFBRSxHQUFHLENwRHJJSSxLQUFLLENBRUwsV0FBVyxHb0QySHZCO01BV3lDLFVBQVUsQ0FBQyw0QkFBNEIsTUFBTSxDQUFyRjtRQUNOLEtBQUssRUFBRSxJQUFLLEdBREw7RS9DekVYLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStDb0NELDRCQUE0QixDQUUxRDtNQTJDRyxRQUFRLEVBQUUsUUFBUztNQUNuQixJQUFJLEVBQUUsQ0FBRTtNQUNSLEdBQUcsRUFBRSxDQUFFO01BQ1AsR0FBRyxFQUFFLEdBQUk7TUFDVCxTQUFTLEVBQUUsZ0JBQVUsR0EvQ3ZCO010RGhIc0MsNEJBQTRCLE9BQU8sQ0FBaEU7UUFDUCx1QkFBdUIsRUFBRSxTQUFVO1FBQ25DLHNCQUFzQixFQUFFLFdBQVk7UUFDcEMsT0FBTyxFQTRGQyxLQUFPO1FBM0ZmLFdBQVcsRUFBRSxPQUFRO1FBQ3JCLFVBQVUsRUFBRSxNQUFPO1FBQ25CLFlBQVksRUFBRSxNQUFPO1FBQ3JCLFdBQVcsRUFBRSxNQUFPO1FBQ3BCLFdBQVcsRUFBRSxDQUFFO1FBQ2YsS0FBSyxFQUFFLElBQUs7UUFDWixjQUFjLEVBQUUsSUFBSyxHQVZiO01zRGlLOEIsNEJBQTRCLE9BQU8sQ0FBaEU7UUFDUCxPQUFPLEVBQUUsS0FBTTtRQUNmLGFBQWEsRXBEeEJKLEdBQUc7UW9EeUJaLFNBQVMsRUFBRSxTQUFNO1FBQ2pCLFVBQVUsRUFBRSxHQUFHLENwRDFKSSxLQUFLLENBRUwsV0FBVyxDb0R3SnNCLEtBQWdCO1FoRGhJcEUsU0FBWSxFQUFBLEVBQUM7UUFBYixLQUFZLEVBQUEsSUFBQztRQUFiLE1BQVksRUFBQSxJQUFDLEdnRDRITDtJL0N2RlYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxPQUFoQixTQUFTLEVBQUUsS0FBSztNK0N1RlUsNEJBQTRCLE9BQU8sQ0FBaEU7UWhEeEZMLFNBQVksRUFBQSxJQUFDO1FBQWIsS0FBWSxFQUFBLElBQUM7UUFBYixNQUFZLEVBQUEsSUFBQyxHZ0R3RlA7SS9DdkZWLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUssT0FBaEIsU0FBUyxFQUFFLEtBQUs7TStDdUZVLDRCQUE0QixPQUFPLENBQWhFO1FoRHhGTCxTQUFZLEVBQUEsSUFBQztRQUFiLEtBQVksRUFBQSxJQUFDO1FBQWIsTUFBWSxFQUFBLElBQUMsR2dEd0ZQO0UvQ3ZGVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO00rQ3FIUyw0QkFBNEIsTUFBTSxDQUEvRDtRQUVOLE9BQU8sRUFBRSxZQUFhO1FBQ3RCLGNBQWMsRUFBRSxNQUFPO1FBQ3ZCLE9BQU8sRXREbElNLEtBQU87UXNEbUlwQixTQUFTLEVBQUUsSUFBSztRQUNoQixXQUFXLEVwRHpERixJQUFJO1FvRDBEYixLQUFLLEVwRGxMVyxPQUFPO1FvRG1MdkIsU0FBUyxFQUFFLGlCQUFVO1FBQ3JCLE9BQU8sRUFBRSxDQUFFO1FBQ1gsVUFBVSxFQUFFLEdBQUcsQ3BEOUxJLEtBQUssQ0FFTCxXQUFXLEdvRGtMdkI7RUFjd0IsNEJBQTRCLENBQUMsSUFBSSxDQUEvRDtJQUNILE9BQU8sRUFBRSxZQUFhO0lBQ3RCLGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLFdBQVcsRUFBRSxDQUFFLEdBSFg7O0FBS3FCLDBCQUEwQixDQUV0RDtFQUNDLFVBQVUsRXBEckVHLElBQUk7RW9Ec0VqQixRQUFRLEVBQUUsUUFBUztFQUNuQixNQUFNLEVBQUUsQ0FBRTtFQUNWLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLENwRDlNSyxLQUFLLENBRUwsV0FBVyxHb0R1TWxDO0VBTXVDLFVBQVUsMEJBQTBCLENBQS9EO0lBQ1YsTUFBTSxFQUFFLElBQUssR0FERjs7QUNuT3VDLDJCQUEyQixDQUVoRjtFQUNDLFVBQVUsRUFBRSxHQUFHLENyRGlCUSxLQUFLLENBRUwsV0FBVyxHcURwQmxDO0VBR21GLDBCQUEwQixDQUFDLDJCQUEyQixDQUE1RztJQUMzQixRQUFRLEVBQUUsUUFBUztJQUNuQixJQUFJLEVBQUUsQ0FBRTtJQUNSLEtBQUssRUFBRSxDQUFFO0lBQ1QsS0FBSyxFQUFFLElBQUs7SUFDWixHQUFHLEVBQUUsQ0FBRTtJQUNQLE9BQU8sRXJEdU9HLENBQUMsR3FEN09pQjtFQVFVLFVBQVUsMkJBQTJCLENBQWpFO0lBQ1YsT0FBTyxFQUFFLEtBQU07SUFDZixPQUFPLEVBQUUsQ0FBRTtJQUNYLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFNBQVMsRUFBRSxpQkFBVSxHQUpWO0VBTTJCLFVBQVUsMkJBQTJCLENBQWpFO0lBQ1YsT0FBTyxFQUFFLENBQUU7SUFDWCxVQUFVLEVBQUUsT0FBUTtJQUNwQixTQUFTLEVBQUUsYUFBVSxHQUhWOztBQUtxQixpQ0FBaUMsQ0FDcEU7RUFFQyxRQUFRLEVBQUUsTUFBTztFQUNqQixVQUFVLEVBQUUsS0FBTTtFQUNsQixPQUFPLEVBQUUsQ0FBRTtFQUNYLFVBQVUsRUFBRSxHQUFHLENyRFZRLEtBQUssQ0FFTCxXQUFXO0VxRFNsQyxXQUFXLEVBQUUsSUFBSztFQUNsQixZQUFZLEVBQUUsSUFBSyxHQVBuQjtFNUNUMkMsaUNBQWlDLE9BQU8sQ0FBMUU7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDtFNENpQjRDLGtCQUFrQixpQ0FBaUMsQ0FBckY7SUFDbEIsUUFBUSxFQUFFLE9BQVE7SUFDbEIsT0FBTyxFQUFFLENBQUU7SUFDWCxVQUFVLEVBQUUsSUFBSyxHQUhFOztBQUthLGlDQUFpQyxDQUNwRTtFQUNDLFVBQVUsRXJERFUsT0FBTztFcURFM0IsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FIZDs7QUFJbUMsa0NBQWtDLENBRXRFO0VBQ0MsVUFBVSxFQUFFLE1BQU87RUFFbkIsYUFBYSxFckR3R0EsSUFBSSxHcUQzR2pCOztBQUlrQyxpQ0FBaUMsQ0FFcEU7RUFDQyxPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFdBQVcsRXJEekNXLEdBQUc7RXFEMEN6QixlQUFlLEVBQUUsSUFBSyxHQUp0Qjs7QUFLbUMsa0NBQWtDLENBRXRFO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSyxHQUZaOztBQUdtQyxrQ0FBa0MsQ0FFdEU7RUFDQyxPQUFPLEVBQUUsS0FBTTtFQUNmLFdBQVcsRUFBRSxDQUFFO0VqRG5CWCxTQUFZLEVBQUEsSUFBQyxHaURpQmpCO0VoRG9CRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnRHRCSyxrQ0FBa0MsQ0FFdEU7TWpEbUJPLFNBQVksRUFBQSxJQUFDLEdpRG5CbkI7RWhEb0JFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdEdEJLLGtDQUFrQyxDQUV0RTtNakRtQk8sU0FBWSxFQUFBLElBQUMsR2lEbkJuQjs7QUFZbUMsa0NBQWtDLENBSXRFO0VBRUMsS0FBSyxFQWpGYSxJQUFJO0VBa0Z0QixNQUFNLEVBbEZZLElBQUk7RUFtRnRCLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFFLEdBQUk7RUFDVCxLQUFLLEVyRDFEZSxPQUFPO0VxRDJEM0IsT0FBTyxFQUFFLElBQUssR0FSZDtFdkR0RTRDLGtDQUFrQyxPQUFPLENBQTVFO0lBQ1AsdUJBQXVCLEVBQUUsU0FBVTtJQUNuQyxzQkFBc0IsRUFBRSxXQUFZO0lBQ3BDLE9BQU8sRUE4RFEsS0FBTztJQTdEdEIsV0FBVyxFQUFFLE9BQVE7SUFDckIsVUFBVSxFQUFFLE1BQU87SUFDbkIsWUFBWSxFQUFFLE1BQU87SUFDckIsV0FBVyxFQUFFLE1BQU87SUFDcEIsV0FBVyxFQUFFLENBQUU7SUFDZixLQUFLLEVBQUUsSUFBSztJQUNaLGNBQWMsRUFBRSxJQUFLLEdBVmI7RU8wRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0RSSSxrQ0FBa0MsQ0FJdEU7TUFVRyxPQUFPLEVBQUUsS0FBTSxHQVZqQjtFQVlvRCxlQUFlLGtDQUFrQyxDQUFwRjtJQUNmLE9BQU8sRUFBRSxDQUFFLEdBREs7RUFHMEIsa0NBQWtDLE9BQU8sQ0FBNUU7SUFDUCxPQUFPLEVBQUUsS0FBTTtJQUNmLEtBQUssRUFoR1csSUFBSTtJQWlHcEIsTUFBTSxFQWpHVSxJQUFJO0lBa0dwQixVQUFVLEVBQUUsTUFBTztJQUNuQixXQUFXLEVBbkdLLElBQUksR0E4Rlo7O0FBTytCLHdDQUF3QyxDQUNsRjtFQUNDLEtBQUssRUFBRSxLQUFNLEdBRGI7O0FBRXlDLHdDQUF3QyxDQUNsRjtFQUNDLElBQUksRUFBRSxLQUFNLEdBRFo7O0FBS2tDLGlDQUFpQyxDQUNwRTtFQUNDLFVBQVUsRUFBRSxNQUFPO0VBQ25CLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFQUFFLENBQUU7RUFDZixVQUFVLEVyRHFDRyxJQUFJLEdxRHpDakI7RUFLc0MsaUNBQWlDLENBQUMsRUFBRSxDQUF2RTtJQUNELE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLENyRDhCQyxHQUFHLEdxRGhDWjs7QUFJNkIsZ0NBQWdDLENBQ2xFO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsYUFBYSxFQUFFLElBQUs7RUFDcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyRGxHRyxPQUFPO0VxRG1HM0IsV0FBVyxFQUFFLE9BQVE7RUFDckIsTUFBTSxFQUFFLE9BQVEsR0FQaEI7RUFROEQsYUFBYSxDQUFDLGdDQUFnQyxDQUE1RjtJQUNkLFVBQVUsRXJEdEdRLE9BQU8sR3FEcUdWOztBQ25JcUMsZ0JBQWdCLENBRXZFO0U5QzZCQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUssRzhDaENkO0U3Q2dCMEIsZ0JBQWdCLE9BQU8sQ0FBeEM7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QThDR2Usd0JBQXdCLENBR2xEO0VBQ0MsV0FBVyxFQUFFLElBQUs7RUFDbEIsWUFBWSxFQUFFLElBQUs7RUFDbkIsVUFBVSxFQUFFLE1BQU87RUFDbkIsS0FBSyxFdkRhZSxPQUFPO0VJT3ZCLFNBQVksRUFBQSxLQUFDO0VBQWIsV0FBWSxFQUFBLEtBQUM7RUFBYixjQUFZLEVBQUEsSUFBQyxHbUR4QmpCO0VsRDZERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRGhFTCx3QkFBd0IsQ0FHbEQ7TW5ENERPLFNBQVksRUFBQSxLQUFDO01BQWIsV0FBWSxFQUFBLElBQUM7TUFBYixjQUFZLEVBQUEsQ0FBQyxHbUQ1RG5COztBQTBCdUIsc0JBQXNCLENBQzlDO0VBQ0MsTUFBTSxFQUFFLFVBQVc7RW5ESmYsU0FBWSxFQUFBLElBQUM7RW1EY2pCLE9BQU8sRUFBRSxDQUFFLEdBWFg7RWxEa0NFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtEbkNQLHNCQUFzQixDQUM5QztNbkRpQ08sU0FBWSxFQUFBLElBQUMsR21EakNuQjtFbERrQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0RuQ1Asc0JBQXNCLENBQzlDO01uRGlDTyxTQUFZLEVBQUEsSUFBQyxHbURqQ25CO0VBWXNDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBMUQ7SUFDUCxPQUFPLEVBQUUsQ0FBRSxHQURIO0VBR2dDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBOUQ7SUFDVCxjQUFjLEVBQUUsUUFBUztJQUN6QixrQkFBa0IsRUFBRSxJQUFLO0lBQ3pCLG1CQUFtQixFQUFFLElBQUs7SUFDMUIsZUFBZSxFQUFFLEVBQUc7SUFDcEIseUJBQXlCLEVBQUUsV0FBWSxHQUw3Qjs7QUFPYyx5QkFBeUIsQ0FDcEQ7RUFDQyxjQUFjLEVBQUUsU0FBVTtFQUMxQixXQUFXLEVBQUUsSUFBSztFQUNsQixXQUFXLEV2RDVEVyxHQUFHO0VJK0JyQixjQUFZLEVBQUEsR0FBQztFQUFiLFlBQVksRUFBQSxHQUFDO0VBQWIsU0FBWSxFQUFBLElBQUM7RW1EcURqQixPQUFPLEVBQUUsQ0FBRSxHQTNCWDtFbERXRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRFpKLHlCQUF5QixDQUNwRDtNbkRVTyxjQUFZLEVBQUEsR0FBQztNQUFiLFlBQVksRUFBQSxHQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR21EVm5CO0VsRFdFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWtEWkoseUJBQXlCLENBQ3BEO01uRFVPLFlBQVksRUFBQSxHQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR21EVm5CO0VBNEJ5QyxNQUFNLENBQUMseUJBQXlCLENBQWhFO0lBQ1AsT0FBTyxFQUFFLENBQUUsR0FESDtFQUdtQyxRQUFRLENBQUMseUJBQXlCLENBQXBFO0lBQ1QsY0FBYyxFQUFFLFFBQVM7SUFDekIsa0JBQWtCLEVBQUUsSUFBSztJQUN6QixtQkFBbUIsRUFBRSxJQUFLO0lBQzFCLHlCQUF5QixFQUFFLFdBQVksR0FKN0I7O0FDckdTLG9CQUFvQixDQUMxQztFaEQwQkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLO0VnRDNCZCxTQUFTLEV4RGdOVyxLQUFLO0VJdktyQixVQUFZLEVBQUEsSUFBQztFQUFiLGFBQVksRUFBQSxJQUFDLEdvRDNDakI7RS9DYThCLG9CQUFvQixPQUFPLENBQWhEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7RUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbURqRlQsb0JBQW9CLENBQzFDO00xQytERyxPQUFPLEVBQUUsV0FBWTtNQUNyQixPQUFPLEVBQUUsUUFBUztNQUNsQixPQUFPLEVBQUUsR0FBSTtNQUdiLE9BQU8sRUFBRSxZQUFhO01BQ3RCLE9BQU8sRUFBRSxTQUFVO01BQ25CLE9BQU8sRUFBRSxXQUFZO01BQ3JCLE9BQU8sRUFBRSxJQUFLO01DMUNWLGlCQUFvQixFeUN4QkgsTUFBTTtNekM0QnZCLGNBQWlCLEV5QzVCQSxNQUFNO016Q3dDdkIsU0FBWSxFeUN4Q0ssTUFBTTtNekN3QnZCLG1CQUFvQixFeUN4QkgsTUFBTTtNekM0QnZCLGdCQUFpQixFeUM1QkEsTUFBTTtNekNnQ3ZCLGVBQWdCLEV5Q2hDQyxNQUFNO016Q29DdkIsY0FBZSxFeUNwQ0UsTUFBTTtNekN3Q3ZCLFdBQVksRXlDeENLLE1BQU07TTFDME83QixjQUFjLEUwQzFPUyxNQUFNLEdBTDdCO0VuRGdGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0ltRGpGVCxvQkFBb0IsQ0FDMUM7TXBEK0VPLFVBQVksRUFBQSxJQUFDO01BQWIsYUFBWSxFQUFBLElBQUMsR29EL0VuQjtFbkRnRkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJbURqRlQsb0JBQW9CLENBQzFDO01wRCtFTyxVQUFZLEVBQUEsSUFBQztNQUFiLGFBQVksRUFBQSxJQUFDLEdvRC9FbkI7O0FuRGdGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VtRHpEUixxQkFBcUIsQ0FDNUM7SUFFRyxTQUFTLEVBQUUsS0FBTTtJQUNqQixXQUFXLEVBQUUsSUFBSztJQUNsQixZQUFZLEVBQUUsSUFBSyxHQUpyQjs7QW5Ed0RFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RW1EekRSLHFCQUFxQixDQUM1QztJekNLTyxnQkFBb0IsRXlDRVYsQ0FBQztJekNFWCxhQUFpQixFeUNGUCxDQUFDO0l6Q2NYLFFBQVksRXlDZEYsQ0FBQztJekNGWCxZQUFvQixFeUNFVixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7SXpDRWxCLFNBQWlCLEV5Q0ZQLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJekNNbEIsUUFBZ0IsRXlDTk4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO0l6Q2NsQixJQUFZLEV5Q2RGLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtJQUN0QixLQUFLLEVBQUUsR0FBSTtJQUNYLE1BQU0sRUFBRSxDQUFFLEdBVFo7O0FBV3FCLG9CQUFvQixDQUMxQztFQUNDLEtBQUssRUFBRSxHQUFJO0VBRVgsV0FBVyxFeEQzQlcsR0FBRztFd0Q0QnpCLEtBQUssRXhEYmUsT0FBTyxHd0RTM0I7RW5ENENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1EN0NULG9CQUFvQixDQUMxQztNekNQTyxnQkFBb0IsRXlDYVYsQ0FBQztNekNUWCxhQUFpQixFeUNTUCxDQUFDO016Q0dYLFFBQVksRXlDSEYsQ0FBQztNekNiWCxZQUFvQixFeUNhVixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7TXpDVGxCLFNBQWlCLEV5Q1NQLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtNekNMbEIsUUFBZ0IsRXlDS04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO016Q0dsQixJQUFZLEV5Q0hGLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtNQUN0QixZQUFZLEV4RDBHRCxJQUFJLEd3RGpIakI7RW5ENENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW1EN0NULG9CQUFvQixDQUMxQztNQVVHLFNBQVMsRUFBRSxLQUFNO01BQ2pCLFdBQVcsRUFBRSxJQUFLO01BQ2xCLFlBQVksRUFBRSxJQUFLO01BQ25CLFVBQVUsRUFBRSxNQUFPLEdBYnJCOztBQ3pDcUQsZUFBZSxDQUVyRTtFakQ2QkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEdpRGhDZDtFaERnQnlCLGVBQWUsT0FBTyxDQUF0QztJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBaURJYyx1QkFBdUIsQ0FFaEQ7RUFDQyxLQUFLLEUxRGdCZSxPQUFPO0UwRGYzQixXQUFXLEUxRG5CVyxhQUFhLEVBQUUsVUFBVTtFMERvQi9DLFdBQVcsRUFBRSxHQUFJO0V0RHFCYixTQUFZLEVBQUEsS0FBQztFQUFiLFdBQVksRUFBQSxLQUFDO0VBQWIsU0FBWSxFQUFBLElBQUMsR3NEeEJqQjtFckQ2REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUQvRE4sdUJBQXVCLENBRWhEO010RDRETyxTQUFZLEVBQUEsS0FBQztNQUFiLFdBQVksRUFBQSxJQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsR3NENURuQjtFckQ2REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUQvRE4sdUJBQXVCLENBRWhEO010RDRETyxTQUFZLEVBQUEsS0FBQztNQUFiLFNBQVksRUFBQSxJQUFDLEdzRDVEbkI7RUEwQmlELFdBQVcsQ0FBQyx1QkFBdUIsQ0FBdEU7SUFDWixXQUFXLEVBQUUsQ0FBRSxHQURGOztBQ2xEK0IsVUFBVSxDQUV6RDtFQUNDLFVBQVUsRTNEK0JVLHdCQUFPLEcyRGhDM0I7O0FBRXNCLHFCQUFxQixDQUM1QztFbkQwQkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEdtRDdCZDtFbERhK0IscUJBQXFCLE9BQU8sQ0FBbEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QWtEWE8sZ0JBQWdCLENBQ2xDO0VBQ0MsS0FBSyxFM0R1QmUsT0FBTztFWUozQixZQUFZLEVDa0NKLEVBQUU7RURqQ1YsYUFBYSxFQ2lDTCxFQUFFO0VUZE4sV0FBWSxFQUFBLElBQUM7RUFBYixjQUFZLEVBQUEsSUFBQyxHdUR4Q2pCO0V0RDZFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lzRDlFZCxnQkFBZ0IsQ0FDbEM7TS9DZUcsWUFBWSxFQ21DTixPQUFTO01EbENmLGFBQWEsRUNrQ1AsT0FBUyxHOENsRGpCO0V0RDZFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRDlFYixnQkFBZ0IsQ0FDbEM7TXZENEVPLFdBQVksRUFBQSxJQUFDO01BQWIsY0FBWSxFQUFBLElBQUMsR3VENUVuQjs7QUFpQmtCLGlCQUFpQixDQUNwQztFdkRzQkssU0FBWSxFQUFBLElBQUMsR3VEdEJqQjtFdEQyREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0Q1RFosaUJBQWlCLENBQ3BDO012RDBETyxTQUFZLEVBQUEsSUFBQyxHdUQxRG5COztBQ3RCMEIseUJBQXlCLENBQ3BEO0V4RDJDSyxhQUFZLEVBQUEsSUFBQyxHd0QzQ2pCO0V2RGdGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l1RGpGSix5QkFBeUIsQ0FDcEQ7TXhEK0VPLGFBQVksRUFBQSxJQUFDLEd3RC9FbkI7O0FDRXdCLHVCQUF1QixDQUNoRDtFekR3Q0ssYUFBWSxFQUFBLElBQUMsR3lEeENqQjtFeEQ2RUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0Q5RU4sdUJBQXVCLENBQ2hEO016RDRFTyxhQUFZLEVBQUEsSUFBQyxHeUQ1RW5COztBQVMwQix5QkFBeUIsQ0FDcEQ7RUFDQyxjQUFjLEVBQUUsU0FBVTtFQUMxQixXQUFXLEU3RFpXLE9BQU8sRUFBRSxJQUFJO0U2RGFuQyxXQUFXLEU3RExXLEdBQUc7RTZETXpCLGFBQWEsRUFBRSxJQUFLO0V6RDBCaEIsU0FBWSxFQUFBLElBQUM7RUFBYixXQUFZLEVBQUEsQ0FBQyxHeUQ5QmpCO0VBS2lDLHlCQUF5QixDQUFDLEtBQUssQ0FBMUQ7SUFDSixXQUFXLEU3RFBTLEdBQUcsRzZETWxCO0V4RDhETCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RHBFSix5QkFBeUIsQ0FDcEQ7TXpEa0VPLFNBQVksRUFBQSxJQUFDLEd5RGxFbkI7RXhEbUVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdEcEVKLHlCQUF5QixDQUNwRDtNekRrRU8sV0FBWSxFQUFBLEtBQUMsR3lEbEVuQjs7QUF1QnlCLHdCQUF3QixDQUVsRDtFckRaQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUssR3FEU2Q7RXBEekJrQyx3QkFBd0IsT0FBTyxDQUF4RDtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBb0QyQmMsdUJBQXVCLENBQ2hEO0VBRUMsV0FBVyxFN0QvQlcsR0FBRztFSStCckIsYUFBWSxFQUFBLElBQUM7RUFBYixTQUFZLEVBQUEsSUFBQyxHeURGakI7RXhEdUNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXdEeENOLHVCQUF1QixDQUNoRDtNekRzQ08sYUFBWSxFQUFBLENBQUMsR3lEdENuQjtFeER1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0R4Q04sdUJBQXVCLENBQ2hEO016RHNDTyxTQUFZLEVBQUEsSUFBQyxHeUR0Q25CO0V4RHVDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RHhDTix1QkFBdUIsQ0FDaEQ7TWpCb0JHLEtBQUssRUFBQSxJQUFDO01BR0osT0FBTyxFQUFFLEtBQU07TUFlZixZQUFvQixFckN0RWhCLFFBQVU7TXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR3NEcUNsQjtNakJ5Q3lDLHVCQUF1QixXQUFXLENBQTFEO1FBQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7TUdiNkUsdUJBQXVCLFdBQUEsQUFBVyxFQUFBLEVBRWhJO1FBQ0MsWUFBb0IsRUFBRSxDQUFFLEdBRHhCO01BSThGLHVCQUF1QixXQUFBLEFBQVcsSUFBQSxFQUMvSDtRQUNDLEtBQUssRUN1QlksSUFBSSxHRHhCckI7RTFDSUYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0R4Q04sdUJBQXVCLENBQ2hEO01qQm9CRyxLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdzRHFDbEI7TWpEL0MrRCx1QkFBdUIsV0FBQSxBQUFXLEVBQUEsRUFDaEc7UUFDQyxZQUFZLEVMYU4sUUFBVSxHS2RoQjtNQUV3Qyx1QkFBdUIsV0FBQSxBQUFXLElBQUEsRUFDM0U7UUFDQyxLQUFLLEVBQUUsSUFDUixHQUZDO01nQ29GdUMsdUJBQXVCLFdBQVcsQ0FBMUQ7UUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QWlCZk8sd0JBQXdCLENBQ2xEO0VBQ0MsV0FBVyxFN0QzRFcsR0FBRztFNkQ0RHpCLFdBQVcsRTdEbkVXLE9BQU8sRUFBRSxJQUFJO0U2RG9FbkMsTUFBTSxFQUFFLENBQUU7RXpENUJOLFNBQVksRUFBQSxJQUFDLEd5RHlCakI7RXhEWUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJd0RiTCx3QkFBd0IsQ0FDbEQ7TXpEV08sU0FBWSxFQUFBLElBQUMsR3lEWG5COztBQVk2Qiw0QkFBNEIsQ0FDMUQ7RUFDQyxNQUFNLEVBQUUsQ0FBRSxHQURWOztBQUUwQix5QkFBeUIsQ0FDcEQ7RUFDQyxNQUFNLEVBQUUsTUFBTztFekQxQ1gsU0FBWSxFQUFBLElBQUMsR3lEeUNqQjtFeERKRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3REdKLHlCQUF5QixDQUNwRDtNekRMTyxTQUFZLEVBQUEsSUFBQyxHeURLbkI7O0FBVTRCLDJCQUEyQixDQUN4RDtFQUNDLE1BQU0sRUFBRSxNQUFPLEdBRGY7O0FBRTBCLHlCQUF5QixDQUNwRDtFQUNDLE1BQU0sRUFBRSxNQUFPO0V6RHhEWCxTQUFZLEVBQUEsSUFBQyxHeUR1RGpCO0V4RGxCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RGlCSix5QkFBeUIsQ0FDcEQ7TXpEbkJPLFNBQVksRUFBQSxJQUFDLEd5RG1CbkI7O0FDbkdpQixnQkFBZ0IsQ0FDbEM7RXREMEJDLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSztFc0QzQmQsU0FBUyxFQUFFLE1BQU8sR0FGbEI7RXJEYTBCLGdCQUFnQixPQUFPLENBQXhDO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0FxRFZPLGdCQUFnQixDQUNsQztFQWFDLFVBQVUsRTlEcUJVLE9BQU8sRzhEbEMzQjtFekQ0RUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUQ3RWIsZ0JBQWdCLENBQ2xDO01BRUcsV0FBVyxFQUFFLElBQUs7TUFDbEIsWUFBWSxFQUFFLElBQUs7TUFDbkIsU0FBUyxFQUFFLEtBQU07TUFDakIsYUFBYSxFOUQySUYsSUFBSSxHOERoSmpCO0V6RDRFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l5RDdFYixnQkFBZ0IsQ0FDbEM7TWxCeURHLEtBQUssRUFBQSxJQUFDO01BR0osT0FBTyxFQUFFLEtBQU07TUFlZixZQUFvQixFckN0RWhCLFFBQVU7TXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR3VEQWxCO01sQjhFa0MsZ0JBQWdCLFdBQVcsQ0FBNUM7UUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjtFdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUQ3RWIsZ0JBQWdCLENBQ2xDO01sQnlERyxLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEd1REFsQjtNbEI4RWtDLGdCQUFnQixXQUFXLENBQTVDO1FBQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0FrQmhFQSxpQkFBaUIsQ0FFcEM7RUFDQyxVQUFVLEVBQUUsTUFBTztFQUVuQixhQUFhLEU5RDhIQSxJQUFJLEc4RGpJakI7O0FBSWlCLGdCQUFnQixDQUVsQztFQUNDLE9BQU8sRUFBRSxLQUFNO0VBQ2YsUUFBUSxFQUFFLFFBQVM7RUFDbkIsV0FBVyxFQUFFLEdBQUksR0FIakI7RUFVcUUsZUFBZSxDQUFDLGdCQUFnQixNQUFNLENBQUMsaUJBQWlCLE1BQU0sQ0FBdkg7SUFDTixTQUFTLEVBQUUsYUFBVTtJQUNyQixPQUFPLEVBQUUsQ0FBRSxHQUZKOztBQU1LLGlCQUFpQixDQUVwQztFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsQ0FBRTtFQUNQLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLElBQUs7RUFDYixPQUFPLEU5RDZMSyxDQUFDLEc4RHBNYjs7QUFRa0IsaUJBQWlCLENBRXBDO0VBQ0MsUUFBUSxFQUFFLFFBQVM7RUFDbkIsSUFBSSxFQUFFLENBQUU7RUFDUixHQUFHLEVBQUUsQ0FBRTtFQUNQLFdBQVcsRTlEeERXLGFBQWEsRUFBRSxVQUFVO0U4RHlEL0MsV0FBVyxFQUFFLEdBQUk7RUFDakIsT0FBTyxFOURrTEssRUFBRTtFOERqTGQsR0FBRyxFQUFFLEdBQUk7RUFDVCxTQUFTLEVBQUUsZ0JBQVU7RTFEbkJqQixTQUFZLEVBQUEsSUFBQztFQUFiLFlBQVksRUFBQSxJQUFDLEcwRFdqQjtFekQwQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJeUQ1QlosaUJBQWlCLENBRXBDO00xRHlCTyxTQUFZLEVBQUEsSUFBQztNQUFiLFlBQVksRUFBQSxJQUFDLEcwRHpCbkI7RXpEMEJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXlENUJaLGlCQUFpQixDQUVwQztNMUR5Qk8sU0FBWSxFQUFBLElBQUM7TUFBYixZQUFZLEVBQUEsSUFBQyxHMER6Qm5CO0VoRWhEMkIsaUJBQWlCLE9BQU8sQ0FBMUM7SUFDUCx1QkFBdUIsRUFBRSxTQUFVO0lBQ25DLHNCQUFzQixFQUFFLFdBQVk7SUFDcEMsT0FBTyxFQTRGQyxLQUFPO0lBM0ZmLFdBQVcsRUFBRSxPQUFRO0lBQ3JCLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFlBQVksRUFBRSxNQUFPO0lBQ3JCLFdBQVcsRUFBRSxNQUFPO0lBQ3BCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsS0FBSyxFQUFFLElBQUs7SUFDWixjQUFjLEVBQUUsSUFBSyxHQVZiO0VnRTBFaUIsaUJBQWlCLE9BQU8sQ0FBMUM7SUFDUCxPQUFPLEVBQUUsS0FBTTtJQUNmLGFBQWEsRTlEK0RGLEdBQUc7SThEOURkLFNBQVMsRUFBRSxTQUFNO0lBQ2pCLFVBQVUsRUFBRSxHQUFHLEM5RG5FTSxLQUFLLENBRUwsV0FBVyxDOERpRW9CLEtBQWdCO0kxRHpDbEUsU0FBWSxFQUFBLEVBQUM7SUFBYixLQUFZLEVBQUEsSUFBQztJQUFiLE1BQVksRUFBQSxJQUFDLEcwRHFDUDtJekRBUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015REFILGlCQUFpQixPQUFPLENBQTFDO1ExRERILFNBQVksRUFBQSxJQUFDO1FBQWIsS0FBWSxFQUFBLElBQUM7UUFBYixNQUFZLEVBQUEsSUFBQyxHMERDVDtJekRBUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO015REFILGlCQUFpQixPQUFPLENBQTFDO1ExRERILFNBQVksRUFBQSxJQUFDO1FBQWIsS0FBWSxFQUFBLElBQUM7UUFBYixNQUFZLEVBQUEsSUFBQyxHMERDVDtFQThCZ0IsaUJBQWlCLE1BQU0sQ0FBekM7SUFFTixPQUFPLEVBQUUsWUFBYTtJQUN0QixjQUFjLEVBQUUsTUFBTztJQUN2QixPQUFPLEVoRTNDUSxLQUFPO0lnRTRDdEIsU0FBUyxFQUFFLElBQUs7SUFDaEIsV0FBVyxFOUQ4QkEsSUFBSTtJOEQ3QmYsS0FBSyxFOUQzRmEsT0FBTztJOEQ0RnpCLFNBQVMsRUFBRSxpQkFBVTtJQUNyQixPQUFPLEVBQUUsQ0FBRTtJQUNYLFVBQVUsRUFBRSxHQUFHLEM5RHZHTSxLQUFLLENBRUwsV0FBVyxHOEQyRnpCO0VBWWUsaUJBQWlCLENBQUMsSUFBSSxDQUF6QztJQUNILE9BQU8sRUFBRSxZQUFhO0lBQ3RCLGNBQWMsRUFBRSxNQUFPO0lBQ3ZCLFdBQVcsRUFBRSxDQUFFLEdBSFg7O0FDL0hzQyxRQUFRLENBRXJEO0VBQ0MsVUFBVSxFQUFFLE9BQVE7RUFDcEIsTUFBTSxFL0RzSk8sSUFBSSxDK0R0SkUsSUFBSTtFQUN2QixRQUFRLEVBQUUsUUFBUztFQUNuQixTQUFTLEVBQUUsS0FBTSxHQUpqQjs7QUFLc0IscUJBQXFCLENBQzVDO0VBQ0MsU0FBUyxFQUFFLEtBQU0sR0FEakI7O0FBRWdCLGVBQWUsQ0FDaEM7RUFDQyxTQUFTLEVBQUUsS0FBTSxHQURqQjs7QUFFZSxjQUFjLENBRTlCO0UzRGlDSyxPQUFZLEVBQUEsSUFBQyxHMkRqQ2pCO0UxRHNFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwRHhFZixjQUFjLENBRTlCO00zRHFFTyxPQUFZLEVBQUEsSUFBQyxHMkRyRW5CO0UxRHNFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwRHhFZixjQUFjLENBRTlCO00zRHFFTyxPQUFZLEVBQUEsSUFBQyxHMkRyRW5CO0UxRHNFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0kwRHhFaEIsY0FBYyxDQUU5QjtNM0RxRU8sT0FBWSxFQUFBLElBQUMsRzJEckVuQjs7QUNYNEIsMkJBQTJCLENBQ3hEO0VBRUMsTUFBTSxFQUFFLENBQUUsR0FGVjs7QUFHa0MsaUNBQWlDLENBQ3BFO0VBRUMsVUFBVSxFQUFFLENBQUUsR0FGZDs7QXZEU21DLHlCQUF5QixPQUFPLENBQTFEO0VBQ1AsS0FBSyxFQUFFLElBQUs7RUFDWixPQUFPLEVBQUUsRUFBRztFQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0F1RENrQiwyQkFBMkIsQ0FDeEQ7RUFDQyxLQUFLLEVBQUUsSUFBSyxHQURaOztBQUc0QiwyQkFBMkIsQ0FDeEQ7RUFDQyxLQUFLLEVBQUUsS0FBTSxHQURiOztBQ3hCMEMsTUFBTSxDQUVqRDtFQUNDLFFBQVEsRUFBRSxRQUFTO0VBQ25CLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLENBQUU7RUFDVixVQUFVLEVBQUUsS0FBTSxHQUxsQjs7QUFNYSxZQUFZLENBQzFCO0VBQ0MsUUFBUSxFQUFFLFFBQVM7RUFDbkIsT0FBTyxFakV5T0ssQ0FBQztFaUV4T2IsVUFBVSxFQUFFLE1BQU87RUFDbkIsS0FBSyxFakU0QmUsT0FBTztFWWIzQixZQUFZLEVDa0NKLEVBQUU7RURqQ1YsYUFBYSxFQ2lDTCxFQUFFO0VvRC9DVixJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLEdBQUksR0FSVDtFNUQ0RUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNEQ3RWxCLFlBQVksQ0FDMUI7TXJEY0csWUFBWSxFQ21DTixPQUFTO01EbENmLGFBQWEsRUNrQ1AsT0FBUyxHb0RqRGpCOztBQVNjLGFBQWEsQ0FDNUI7RUFDQyxRQUFRLEVBQUUsUUFBUztFQUNuQixJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxDQUFFO0VBQ1QsR0FBRyxFQUFFLENBQUU7RUFDUCxNQUFNLEVBQUUsQ0FBRTtFQUNWLG1CQUFtQixFQUFFLE9BQVE7RUFDN0IsaUJBQWlCLEVBQUUsU0FBVTtFQUM3QixlQUFlLEVBQUUsS0FBTTtFQUN2QixPQUFPLEVqRXlOSyxDQUFDLEdpRWxPYjs7QUFVYyxhQUFhLENBQzVCO0VBQ0MsV0FBVyxFakV4QlcsYUFBYSxFQUFFLFVBQVU7RUl5QzNDLFNBQVksRUFBQSxJQUFDLEc2RGxCakI7RTVEdURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STREeERoQixhQUFhLENBQzVCO003RHNETyxTQUFZLEVBQUEsSUFBQyxHNkR0RG5COztBQVVpQixnQkFBZ0IsQ0FDbEM7RUFDQyxXQUFXLEVqRW5DVyxhQUFhLEVBQUUsVUFBVTtFSXlDM0MsU0FBWSxFQUFBLElBQUMsRzZEUGpCO0U1RDRDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k0RDdDYixnQkFBZ0IsQ0FDbEM7TTdEMkNPLFNBQVksRUFBQSxJQUFDLEc2RDNDbkI7O0FBVWdCLGVBQWUsQ0FDaEM7RUFDQyxVQUFVLEVBQUUsSUFBSztFQUNqQixXQUFXLEVqRTlDVyxPQUFPLEVBQUUsSUFBSSxHaUU0Q25DO0UvRHFDNEMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBekU7SStEOUJOLEtBQUssRWpFMUJXLE9BQU8sR0V3RGhCOztBZ0UxRmlELGdCQUFnQixFQUFzQixrQkFBa0IsRUFBcUIsaUJBQWlCLEVBQXVCLG1CQUFtQixDQUFoTDtFQUNwQixLQUFLLEVsRWdDZSxPQUFPO0VJZ0J2QixVQUFZLEVBQUEsSUFBQztFQUFiLFNBQVksRUFBQSxJQUFDLEc4RGpESTtFN0RzRm5CLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEdEY4QixnQkFBZ0IsRUFBc0Isa0JBQWtCLEVBQXFCLGlCQUFpQixFQUF1QixtQkFBbUIsQ0FBaEw7TTlEcUZkLFVBQVksRUFBQSxJQUFDO01BQWIsU0FBWSxFQUFBLElBQUMsRzhEckZFO0U3RHNGbkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkR0RjhCLGdCQUFnQixFQUFzQixrQkFBa0IsRUFBcUIsaUJBQWlCLEVBQXVCLG1CQUFtQixDQUFoTDtNOURxRmQsU0FBWSxFQUFBLElBQUMsRzhEckZFO0U3RHNGbkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNkR0RjZCLGdCQUFnQixFQUFzQixrQkFBa0IsRUFBcUIsaUJBQWlCLEVBQXVCLG1CQUFtQixDQUFoTDtNOURxRmQsU0FBWSxFQUFBLElBQUMsRzhEckZFOztBQW1CZ0IsZ0JBQWdCLENBQW5DO0VBRWxCLFdBQVcsRWxFSFcsR0FBRyxHa0VDTjs7QUFPK0IsbUJBQW1CLEVBQXNCLGtCQUFrQixDQUFqRjtFQUM1QixLQUFLLEVsRUllLE9BQU87RWtFSDNCLE1BQU0sRUFBRSxDQUFFO0U5RHFCTixTQUFZLEVBQUEsSUFBQyxHOER2Qlk7RTdENEQzQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RDVEb0IsbUJBQW1CLEVBQXNCLGtCQUFrQixDQUFqRjtNOUQyRHRCLFNBQVksRUFBQSxJQUFDLEc4RDNEVTtFN0Q0RDNCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZENURvQixtQkFBbUIsRUFBc0Isa0JBQWtCLENBQWpGO005RDJEdEIsU0FBWSxFQUFBLElBQUMsRzhEM0RVOztBQWEyQixzQkFBc0IsRUFBeUIscUJBQXFCLENBQTdGO0VBQy9CLEtBQUssRWxFTmUsT0FBTztFa0VPM0IsTUFBTSxFQUFFLENBQUU7RTlEUU4sU0FBWSxFQUFBLElBQUMsRzhEVmU7RTdEK0M5QixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RC9DMEIsc0JBQXNCLEVBQXlCLHFCQUFxQixDQUE3RjtNOUQ4Q3pCLFNBQVksRUFBQSxJQUFDLEc4RDlDYTtFN0QrQzlCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEL0MwQixzQkFBc0IsRUFBeUIscUJBQXFCLENBQTdGO005RDhDekIsU0FBWSxFQUFBLElBQUMsRzhEOUNhOztBQWFvQix1QkFBdUIsQ0FBakQ7RUFDMUIsS0FBSyxFbEV0QmUsT0FBTztFa0V1QjNCLE1BQU0sRUFBRSxDQUFFO0U5RExOLFNBQVksRUFBQSxJQUFDLEc4REdVO0U3RGtDekIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkRsQ3NCLHVCQUF1QixDQUFqRDtNOURpQ3BCLFNBQVksRUFBQSxJQUFDLEc4RGpDUTtFN0RrQ3pCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEbENzQix1QkFBdUIsQ0FBakQ7TTlEaUNwQixTQUFZLEVBQUEsSUFBQyxHOERqQ1E7O0FBYTZCLHdCQUF3QixDQUFuRDtFQUM3QixLQUFLLEVsRWhDZSxPQUFPO0VrRWlDM0IsTUFBTSxFQUFFLENBQUU7RTlEbEJOLFNBQVksRUFBQSxJQUFDLEc4RGdCYTtFN0RxQjVCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEckIwQix3QkFBd0IsQ0FBbkQ7TTlEb0J2QixTQUFZLEVBQUEsSUFBQyxHOERwQlc7RTdEcUI1QixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RHJCMEIsd0JBQXdCLENBQW5EO005RG9CdkIsU0FBWSxFQUFBLElBQUMsRzhEcEJXOztBQWN5Qiw0QkFBNEIsRUFBMEIsc0JBQXNCLENBQTNHO0VBQ3hCLFVBQVUsRUFBRSxNQUFPO0VBQ25CLEtBQUssRWxFaERlLE9BQU87RWtFaUQzQixXQUFXLEVsRWxFVyxHQUFHO0VJaUNyQixTQUFZLEVBQUEsSUFBQztFQUFiLGFBQVksRUFBQSxJQUFDLEc4RDhCUTtFN0RPdkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkRQeUIsNEJBQTRCLEVBQTBCLHNCQUFzQixDQUEzRztNOURNbEIsU0FBWSxFQUFBLElBQUM7TUFBYixhQUFZLEVBQUEsSUFBQyxHOEROTTtFN0RPdkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkRQeUIsNEJBQTRCLEVBQTBCLHNCQUFzQixDQUEzRztNOURNbEIsU0FBWSxFQUFBLElBQUM7TUFBYixhQUFZLEVBQUEsSUFBQyxHOEROTTtFN0RPdkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNkRQd0IsNEJBQTRCLEVBQTBCLHNCQUFzQixDQUEzRztNOURNbEIsYUFBWSxFQUFBLElBQUMsRzhETk07O0FBeUJvQixpQkFBaUIsRUFBd0Isb0JBQW9CLENBQWpGO0VBQ3pCLEtBQUssRWxFMUVlLE9BQU87RWtFMkUzQixNQUFNLEVBQUUsQ0FBRTtFQUNWLFdBQVcsRWxFbEdXLE9BQU8sRUFBRSxJQUFJO0VJd0MvQixTQUFZLEVBQUEsSUFBQyxHOER1RFM7RTdEbEJ4QixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RGtCZSxpQkFBaUIsRUFBd0Isb0JBQW9CLENBQWpGO005RG5CbkIsU0FBWSxFQUFBLElBQUMsRzhEbUJPO0U3RGxCeEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJNkRrQmMsaUJBQWlCLEVBQXdCLG9CQUFvQixDQUFqRjtNOURuQm5CLFNBQVksRUFBQSxJQUFDLEc4RG1CTzs7QUFtQmlCLG1CQUFtQixFQUFzQixrQkFBa0IsQ0FBakY7RUFRckIsT0FBTyxFQUFFLEtBQU07RUFDZixVQUFVLEVBQUUsTUFBTztFQUVuQixNQUFNLEVBQUUsT0FBUTtFOURyRlosVUFBWSxFQUFBLElBQUMsRzhEMEVLO0VwRS9Hc0MsbUJBQW1CLE9BQU8sRUFBNkIsa0JBQWtCLE9BQU8sQ0FBbkk7SUFDUCx1QkFBdUIsRUFBRSxTQUFVO0lBQ25DLHNCQUFzQixFQUFFLFdBQVk7SUFDcEMsT0FBTyxFQThEUSxLQUFPO0lBN0R0QixXQUFXLEVBQUUsT0FBUTtJQUNyQixVQUFVLEVBQUUsTUFBTztJQUNuQixZQUFZLEVBQUUsTUFBTztJQUNyQixXQUFXLEVBQUUsTUFBTztJQUNwQixXQUFXLEVBQUUsQ0FBRTtJQUNmLEtBQUssRUFBRSxJQUFLO0lBQ1osY0FBYyxFQUFFLElBQUssR0FWYjtFb0UySGtELG1CQUFtQixPQUFPLEVBQTZCLGtCQUFrQixPQUFPLENBQW5JO0lBQ1AsU0FBUyxFQUFFLGFBQU07SUFDakIsT0FBTyxFQUFFLFlBQWE7SUFDdEIsS0FBSyxFbEV4R2EsT0FBTztJSWV2QixLQUFZLEVBQUEsSUFBQztJQUFiLE1BQVksRUFBQSxJQUFDO0lBQWIsV0FBWSxFQUFBLElBQUM7SUFBYixTQUFZLEVBQUEsSUFBQyxHOERzRlA7STdEakRSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7TTZEaUQ4QixtQkFBbUIsT0FBTyxFQUE2QixrQkFBa0IsT0FBTyxDQUFuSTtROURsREgsS0FBWSxFQUFBLElBQUM7UUFBYixNQUFZLEVBQUEsSUFBQztRQUFiLFdBQVksRUFBQSxJQUFDO1FBQWIsU0FBWSxFQUFBLElBQUMsRzhEa0RUO0U3RGpEUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RHFDYSxtQkFBbUIsRUFBc0Isa0JBQWtCLENBQWpGO005RHRDZixVQUFZLEVBQUEsSUFBQyxHOERzQ0c7RTdEckNwQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RHFDYSxtQkFBbUIsRUFBc0Isa0JBQWtCLENBQWpGO005RHRDZixVQUFZLEVBQUEsSUFBQyxHOERzQ0c7O0FBeURxQixtQkFBbUIsRUFBc0Isa0JBQWtCLEVBQXdCLG9CQUFvQixFQUFtQixlQUFlLEVBQXFCLGlCQUFpQixFQUF3QixvQkFBb0IsRUFBMEIsc0JBQXNCLENBQWpTO0VBQ3JCLEtBQUssRUFBRSxJQUFLLEdBRFU7O0FBTzZCLG9CQUFvQixFQUFtQixlQUFlLENBQTdFO0VBQzlCLGNBQWMsRUFBRSxTQUFVO0VBQzFCLEtBQUssRWxFM0ppQixPQUFPO0VrRTRKN0IsY0FBYyxFQUFFLEdBQUk7RTlEN0lkLFNBQVksRUFBQSxJQUFDO0VBQWIsVUFBWSxFQUFBLElBQUMsRzhEMElZO0U3RHJHM0IsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkRxR3FCLG9CQUFvQixFQUFtQixlQUFlLENBQTdFO005RHRHdEIsU0FBWSxFQUFBLElBQUM7TUFBYixVQUFZLEVBQUEsSUFBQyxHOERzR1U7RTdEckczQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0k2RHFHcUIsb0JBQW9CLEVBQW1CLGVBQWUsQ0FBN0U7TTlEdEd0QixTQUFZLEVBQUEsSUFBQztNQUFiLFVBQVksRUFBQSxJQUFDLEc4RHNHVTs7QUEyQmlFLHNCQUFzQixDQUEvRjtFQUNyQixPQUFPLEVBQUUsWUFBYTtFQUV0QixXQUFXLEVsRXpNVyxHQUFHO0VrRTBNekIsT0FBTyxFbEVsRU0sSUFBSSxDQUVKLElBQUk7RWtFb0VqQixXQUFXLEVBQUUsQ0FBRSxHQVJPO0U3RGhJcEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkRnSWdFLHNCQUFzQixDQUEvRjtNQU1uQixPQUFPLEVsRW5FSSxJQUFJLENBRUosSUFBSSxHa0UyREs7RUFTbUcsc0JBQXNCLE1BQU0sQ0FBN0k7SUFFTixPQUFPLEVBQUUsWUFBYTtJQUN0QixjQUFjLEVBQUUsTUFBTztJQUN2QixPQUFPLEVwRXRKUSxLQUFPO0lvRXVKdEIsU0FBUyxFQUFFLEdBQUk7SUFDZixXQUFXLEVsRTlFQSxHQUFHLEdrRXdFUDs7QUFrQ29DLHNCQUFzQixDQUEvQztFQUVwQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2xFek5HLE9BQU87RWtFME4zQixLQUFLLEVsRTFOZSxPQUFPO0VJT3ZCLFNBQVksRUFBQSxJQUFDLEc4RGdOSTtFN0QzS25CLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7STZEMktlLHNCQUFzQixDQUEvQztNOUQ1S2QsU0FBWSxFQUFBLElBQUMsRzhENEtFO0U3RDNLbkIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJNkQyS2Usc0JBQXNCLENBQS9DO005RDVLZCxTQUFZLEVBQUEsSUFBQyxHOEQ0S0U7O0FDaFF3QyxxQkFBcUIsQ0FFbkY7RXZEMEJDLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUUsR3NENURWO0U5RG1GRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0k4RHJGOEIscUJBQXFCLENBRW5GO012RHFCRyxZQUFZLEVDbUNOLE9BQVM7TURsQ2YsYUFBYSxFQ2tDUCxPQUFTLEdzRHhEakI7O0FDRW1CLGtCQUFrQixDQUN0QztFQUNDLGdCQUFnQixFcEVvQ0ksT0FBTztFb0VuQzNCLGVBQWUsRUFBRSxLQUFNO0VBQ3ZCLGlCQUFpQixFQUFFLFNBQVU7RUFDN0IsbUJBQW1CLEVBQUUsT0FBUTtFNURzQjdCLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSyxHNEQ3QmQ7RTNEYTRCLGtCQUFrQixPQUFPLENBQTVDO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7RUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0RqRlgsa0JBQWtCLENBQ3RDO01BT0csVUFBVSxFQUFFLEtBQU0sR0FQcEI7O0FBU3NCLHFCQUFxQixDQUM1QztFaEVpQ0ssV0FBWSxFQUFBLElBQUM7RUFBYixjQUFZLEVBQUEsSUFBQztFQUFiLEtBQVksRUFBQSxJQUFDLEdnRWpDakI7RS9Ec0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEdkVSLHFCQUFxQixDQUM1QztNaEVxRU8sV0FBWSxFQUFBLElBQUM7TUFBYixjQUFZLEVBQUEsSUFBQztNQUFiLEtBQVksRUFBQSxHQUFDLEdnRXJFbkI7RS9Ec0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEdkVSLHFCQUFxQixDQUM1QztNaEVxRU8sV0FBWSxFQUFBLEtBQUM7TUFBYixjQUFZLEVBQUEsS0FBQztNQUFiLEtBQVksRUFBQSxTQUFDLEdnRXJFbkI7RS9Ec0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SStEdkVULHFCQUFxQixDQUM1QztNaEVxRU8sV0FBWSxFQUFBLEtBQUM7TUFBYixjQUFZLEVBQUEsS0FBQyxHZ0VyRW5COztBQTJCNEIsMkJBQTJCLENBQ3hEO0VoRUtLLFdBQVksRUFBQSxDQUFDO0VBQWIsWUFBWSxFQUFBLEVBQUM7RUFBYixhQUFZLEVBQUEsRUFBQyxHZ0VMakI7RS9EMENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEM0NGLDJCQUEyQixDQUN4RDtNaEV5Q08sV0FBWSxFQUFBLEVBQUM7TUFBYixZQUFZLEVBQUEsQ0FBQztNQUFiLGFBQVksRUFBQSxDQUFDLEdnRXpDbkI7RS9EMENFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SStEM0NGLDJCQUEyQixDQUN4RDtNaEV5Q08sV0FBWSxFQUFBLE9BQUMsR2dFekNuQjs7QUFzQjZCLDRCQUE0QixDQUMxRDtFQUNDLEtBQUssRUFBRSxLQUFNO0VoRW5CVCxZQUFZLEVBQUEsQ0FBQztFQUFiLFlBQVksRUFBQSxFQUFDO0VBQWIsYUFBWSxFQUFBLEVBQUMsR2dFa0JqQjtFL0RtQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0RwQkQsNEJBQTRCLENBQzFEO01oRWtCTyxZQUFZLEVBQUEsRUFBQztNQUFiLFlBQVksRUFBQSxDQUFDO01BQWIsYUFBWSxFQUFBLENBQUMsR2dFbEJuQjtFL0RtQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJK0RwQkQsNEJBQTRCLENBQzFEO01oRWtCTyxZQUFZLEVBQUEsT0FBQyxHZ0VsQm5COztBQWlDa0IsaUJBQWlCLENBQ3BDO0VBQ0MsTUFBTSxFQUFFLENBQUUsR0FEVjs7QS9EZkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFZ0VyRnFCLFdBQVcsQ0FFL0Q7SUFFRyxZQUFZLEV4RDBETixFQUFFO0l3RHpEUixhQUFhLEV4RHlEUCxFQUFFLEd3RDVEVjs7QUFLa0IsaUJBQWlCLENBQ3BDO0U3RHVCQyxTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUs7RTZEeEJkLFFBQVEsRUFBRSxRQUFTLEdBRm5CO0U1RFUyQixpQkFBaUIsT0FBTyxDQUExQztJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBSm1FUixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VnRTFFVCxvQkFBb0IsQ0FDMUM7SXpCc0RHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFFBQVU7SThETWhCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLEdBQUcsRUFBRSxHQUFJO0lBQ1QsU0FBUyxFQUFFLGdCQUFVLEdBTHZCO0l6QjJFc0Msb0JBQW9CLFdBQVcsQ0FBcEQ7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QXZDRmhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWdFMUVULG9CQUFvQixDQUMxQztJekJzREcsS0FBSyxFQUFBLElBQUM7SUFHSixPQUFPLEVBQUUsS0FBTTtJQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtJcUN1RWQsS0FBSyxFckM1RUQsU0FBVSxHOERHbEI7SXpCMkVzQyxvQkFBb0IsV0FBVyxDQUFwRDtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFZ0UxRVYsb0JBQW9CLENBQzFDO0l6QnNERyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEc4REdsQjtJekIyRXNDLG9CQUFvQixXQUFXLENBQXBEO01BQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0F5QjlEUywwQkFBMEIsQ0FDdEQ7RUFDQyxLQUFLLEVBQUUsQ0FBRTtFakVxQkwsWUFBWSxFQUFBLENBQUM7RUFBYixhQUFZLEVBQUEsQ0FBQyxHaUV0QmpCO0VoRTJERSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnRTVESCwwQkFBMEIsQ0FDdEQ7TWpFMERPLFlBQVksRUFBQSxFQUFDO01BQWIsYUFBWSxFQUFBLEVBQUMsR2lFMURuQjtFaEUyREUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0U1REosMEJBQTBCLENBQ3REO01qRTBETyxZQUFZLEVBQUEsSUFBQztNQUFiLGFBQVksRUFBQSxPQUFDLEdpRTFEbkI7O0FBa0I0QiwyQkFBMkIsQ0FDeEQ7RUFDQyxJQUFJLEVBQUUsQ0FBRTtFakVFSixhQUFZLEVBQUEsQ0FBQztFQUFiLFlBQVksRUFBQSxDQUFDLEdpRUhqQjtFaEV3Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJZ0V6Q0YsMkJBQTJCLENBQ3hEO01qRXVDTyxhQUFZLEVBQUEsRUFBQztNQUFiLFlBQVksRUFBQSxFQUFDLEdpRXZDbkI7RWhFd0NFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWdFekNILDJCQUEyQixDQUN4RDtNakV1Q08sYUFBWSxFQUFBLElBQUM7TUFBYixZQUFZLEVBQUEsT0FBQyxHaUV2Q25COztBQWtCaUIsZ0JBQWdCLENBRWxDO0VBQ0MsVUFBVSxFQUFFLENBQUU7RUFDZCxhQUFhLEVBQUUsQ0FBRTtFQUNqQixXQUFXLEVBQUUsR0FBSTtFQUNqQixRQUFRLEVBQUUsUUFBUztFQUNuQixnQkFBZ0IsRXJFM0JJLE9BQU87RXFFNEIzQixpQkFBaUIsRUFBRSxTQUFVO0VBQzdCLGVBQWUsRUFBRSxLQUFNO0VBQ3ZCLG1CQUFtQixFQUFFLE9BQVE7RUFDN0IsYUFBYSxFckVnRkEsSUFBSTtFcUU1RWpCLFdBQVcsRUFBRSxHQUFJLEdBYmpCO0VoRW9CRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnRXRCYixnQkFBZ0IsQ0FFbEM7TUFXRyxhQUFhLEVyRStFRixJQUFJLEdxRTFGakI7RWhFb0JFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdFdEJiLGdCQUFnQixDQUVsQztNQWVHLFdBQVcsRUFBRSxHQUFJO01BQ2pCLGFBQWEsRUFBRSxDQUFFO016QmZqQixLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEc4RHdEbEI7TXpCc0JrQyxnQkFBZ0IsV0FBVyxDQUE1QztRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaO0V2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lnRXRCYixnQkFBZ0IsQ0FFbEM7TXpCQ0csS0FBSyxFQUFBLElBQUM7TUFHSixPQUFPLEVBQUUsS0FBTTtNQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtNcUN1RWQsS0FBSyxFckM1RUQsU0FBVSxHOER3RGxCO016QnNCa0MsZ0JBQWdCLFdBQVcsQ0FBNUM7UUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjtFdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJZ0V0QmQsZ0JBQWdCLENBRWxDO016QkNHLEtBQUssRUFBQSxJQUFDO01BR0osT0FBTyxFQUFFLEtBQU07TUFlZixZQUFvQixFckN0RWhCLFFBQVU7TXFDdUVkLEtBQUssRXJDNUVELFNBQVUsRzhEd0RsQjtNekJzQmtDLGdCQUFnQixXQUFXLENBQTVDO1FBQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0F2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VnRUtQLHNCQUFzQixDQUM5QztJQUVHLEtBQUssRUFBRSxJQUFLLEdBRmQ7O0FBS3dCLHVCQUF1QixDQUNoRDtFQUNDLFlBQVksRUFBRSxDQUFFLEdBRGhCO0VoRVpFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWdFV04sdUJBQXVCLENBQ2hEO01BR0csS0FBSyxFQUFFLEtBQU0sR0FIZjs7QUNqR3FELGFBQWEsQ0FFbkU7RTFEMEJDLFlBQVksRUNrQ0osRUFBRTtFRGpDVixhQUFhLEVDaUNMLEVBQUUsR3lENURWO0VqRW1GRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lpRXJGc0IsYUFBYSxDQUVuRTtNMURxQkcsWUFBWSxFQ21DTixPQUFTO01EbENmLGFBQWEsRUNrQ1AsT0FBUyxHeUR4RGpCOztBQUVxQixvQkFBb0IsQ0FDMUM7RUFDQyxLQUFLLEV0RTBCZSxPQUFPO0VzRXpCM0IsV0FBVyxFdEVRVyxHQUFHO0VzRVB6QixZQUFZLEV6RGtESixPQUFTO0V5RGpEakIsTUFBTSxFQUFFLENBQUU7RUFDVixXQUFXLEVBQUUsR0FBSTtFbEVzQ2IsU0FBWSxFQUFBLElBQUMsR2tFM0NqQjtFakVnRkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUVqRlQsb0JBQW9CLENBQzFDO01sRStFTyxTQUFZLEVBQUEsSUFBQyxHa0UvRW5CO0VqRWdGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRWpGVCxvQkFBb0IsQ0FDMUM7TWxFK0VPLFNBQVksRUFBQSxJQUFDLEdrRS9FbkI7RWpFZ0ZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFakZULG9CQUFvQixDQUMxQztNMUI2REcsS0FBSyxFQUFBLElBQUM7TUFHSixPQUFPLEVBQUUsS0FBTTtNQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtNcUN1RWQsS0FBSyxFckM1RUQsU0FBVSxHK0RKbEI7TTFCa0ZzQyxvQkFBb0IsV0FBVyxDQUFwRDtRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBMEJoRVEseUJBQXlCLENBQ3BEO0U5RE9DLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSztFOERSZCxRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEV0RXlOSyxDQUFDLEdzRTVOYjtFN0RObUMseUJBQXlCLE9BQU8sQ0FBMUQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFaUV6RFQsb0JBQW9CLENBRTFDO0lBR0csUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLElBQUs7SUFDVixLQUFLLEVBQUUsQ0FBRSxHQUxYOztBQU9tQixrQkFBa0IsQ0FFdEM7RUFDQyxNQUFNLEVBQUUsQ0FBRSxHQURWOztBQUtvQixtQkFBbUIsQ0FFeEM7RUFDQyxRQUFRLEVBQUUsUUFBUztFbEVDZixHQUFZLEVBQUEsS0FBQztFQUFiLGFBQVksRUFBQSxLQUFDO0VJakJqQixTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUs7RThEK0JkLE9BQU8sRXRFb0xLLENBQUMsR3NFdk1iO0VqRXVDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRXpDVixtQkFBbUIsQ0FFeEM7TWxFc0NPLEdBQVksRUFBQSxLQUFDO01BQWIsYUFBWSxFQUFBLEtBQUMsR2tFdENuQjtFakV1Q0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUV6Q1YsbUJBQW1CLENBRXhDO01sRXNDTyxHQUFZLEVBQUEsS0FBQztNQUFiLGFBQVksRUFBQSxLQUFDLEdrRXRDbkI7RTdENUI2QixtQkFBbUIsT0FBTyxDQUE5QztJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQOztBNkRnRGEsc0JBQXNCLENBQzlDO0VBQ0MsUUFBUSxFQUFFLFFBQVMsR0FEbkI7RWpFa0JFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFbkJQLHNCQUFzQixDQUM5QztNMUJERyxLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEcrRDBEbEI7TTFCb0J3QyxzQkFBc0IsV0FBVyxDQUF4RDtRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBMEJmRSxtQkFBbUIsQ0FHeEM7RUFDQyxLQUFLLEV0RTNDZSxPQUFPO0VzRTRDM0IsUUFBUSxFQUFFLFFBQVM7RWxFN0JmLFlBQVksRUFBQSxJQUFDO0VBQWIsV0FBWSxFQUFBLElBQUMsR2tFMkJqQjtFakVVRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRWJWLG1CQUFtQixDQUd4QztNQUlHLFVBQVUsRXRFMkVDLElBQUk7TXNFMUVmLFNBQVMsRUFBRSxLQUFNLEdBTG5CO0VqRVVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFYlYsbUJBQW1CLENBR3hDO00xQlRHLEtBQUssRUFBQSxJQUFDO01BR0osT0FBTyxFQUFFLEtBQU07TUFlZixZQUFvQixFckN0RWhCLFFBQVU7TXFDdUVkLEtBQUssRXJDNUVELFNBQVUsRytEa0VsQjtNMUJZcUMsbUJBQW1CLFdBQVcsQ0FBbEQ7UUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjtFdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUViVixtQkFBbUIsQ0FHeEM7TWxFU08sWUFBWSxFQUFBLElBQUM7TUFBYixXQUFZLEVBQUEsSUFBQyxHa0VUbkI7RWpFVUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUViVixtQkFBbUIsQ0FHeEM7TWxFU08sWUFBWSxFQUFBLElBQUM7TUFBYixXQUFZLEVBQUEsSUFBQyxHa0VUbkI7RWpFVUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJaUViWCxtQkFBbUIsQ0FHeEM7TWxFU08sWUFBWSxFQUFBLElBQUM7TUFBYixXQUFZLEVBQUEsSUFBQyxHa0VUbkI7RWpFVUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUViVixtQkFBbUIsQ0FHeEM7TUE4QkcsVUFBVSxFQUFDLElBQUssR0E5QmxCOztBQWdDeUIsd0JBQXdCLENBQ2xEO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLE1BQU0sRUFBRSxDQUFFO0VBQ1YsS0FBSyxFQUFFLEdBQUk7RUFDWCxVQUFVLEV0RWpGVSxPQUFPO0VzRWtGM0IsT0FBTyxFQUFFLEVBQUc7RWxFbkVSLElBQVksRUFBQSxDQUFDLEdrRTREakI7RWpFdkJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFc0JMLHdCQUF3QixDQUNsRDtNbEV4Qk8sSUFBWSxFQUFBLENBQUMsR2tFd0JuQjtFakV2QkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJaUVzQkwsd0JBQXdCLENBQ2xEO01sRXhCTyxJQUFZLEVBQUEsSUFBQyxHa0V3Qm5CO0VqRXZCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lpRXNCTix3QkFBd0IsQ0FDbEQ7TWxFeEJPLElBQVksRUFBQSxJQUFDLEdrRXdCbkI7O0FBa0J5Qix3QkFBd0IsQ0FDbEQ7RUFDQyxTQUFTLEVBQUUsS0FBTSxHQURqQjs7QUFFMkIsMEJBQTBCLENBQ3REO0VBQ0MsV0FBVyxFdEVwSFcsR0FBRztFc0VxSHpCLE9BQU8sRUFBRSxLQUFNO0VsRXBGWCxTQUFZLEVBQUEsSUFBQyxHa0VrRmpCO0VqRTdDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRTRDSCwwQkFBMEIsQ0FDdEQ7TWxFOUNPLFNBQVksRUFBQSxJQUFDLEdrRThDbkI7O0FBVzJCLDBCQUEwQixDQUN0RDtFQUNDLE9BQU8sRUFBRSxLQUFNO0VsRS9GWCxTQUFZLEVBQUEsSUFBQztFQUFiLGFBQVksRUFBQSxJQUFDLEdrRThGakI7RWpFekRFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFd0RILDBCQUEwQixDQUN0RDtNbEUxRE8sU0FBWSxFQUFBLElBQUM7TUFBYixhQUFZLEVBQUEsSUFBQyxHa0UwRG5COztBQWdCMkIsMEJBQTBCLENBQ3REO0VBQ0MsT0FBTyxFQUFFLEtBQU07RUFDZixXQUFXLEV0RTFKVyxhQUFhLEVBQUUsVUFBVTtFc0UySi9DLE1BQU0sRUFBRSxDQUFFO0VBQ1YsV0FBVyxFQUFFLEdBQUk7RUFDakIsY0FBYyxFQUFFLE9BQVE7RWxFcEhwQixTQUFZLEVBQUEsSUFBQyxHa0UrR2pCO0VqRTFFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRXlFSCwwQkFBMEIsQ0FDdEQ7TWxFM0VPLFNBQVksRUFBQSxLQUFDLEdrRTJFbkI7RWpFMUVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SWlFeUVILDBCQUEwQixDQUN0RDtNbEUzRU8sU0FBWSxFQUFBLEtBQUMsR2tFMkVuQjtFakUxRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJaUV5RUosMEJBQTBCLENBQ3REO01sRTNFTyxTQUFZLEVBQUEsS0FBQyxHa0UyRW5COztBQWdCNEIsMkJBQTJCLENBQ3hEO0VBQ0MsV0FBVyxFdEVoS1csR0FBRztFc0VpS3pCLFdBQVcsRUFBRSxJQUFLO0VsRWxJZCxTQUFZLEVBQUEsSUFBQyxHa0VnSWpCO0VqRTNGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lpRTBGRiwyQkFBMkIsQ0FDeEQ7TWxFNUZPLFNBQVksRUFBQSxJQUFDLEdrRTRGbkI7O0FDaExnRCxRQUFRLENBRXpEO0UzRDBCQyxZQUFZLEVDa0NKLEVBQUU7RURqQ1YsYUFBYSxFQ2lDTCxFQUFFO0UwRDFEVixpQkFBaUIsRUFBRSxTQUFVO0VBQzdCLG1CQUFtQixFQUFFLGFBQWMsR0FIbkM7RWxFbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SWtFckZpQixRQUFRLENBRXpEO00zRHFCRyxZQUFZLEVDbUNOLE9BQVM7TURsQ2YsYUFBYSxFQ2tDUCxPQUFTLEcwRHhEakI7O0FsRW1GRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VrRS9FZixjQUFjLENBQzlCO0lBRUcsbUJBQW1CLEVBQUUsUUFBUyxHQUZoQzs7QWxFOEVFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtFMUVkLGVBQWUsQ0FDaEM7SUFFRyxtQkFBbUIsRUFBRSxNQUFPLEdBRjlCOztBQUlnQixlQUFlLENBRWhDO0VBQ0MsS0FBSyxFdkVhZSxPQUFPO0V1RVozQixXQUFXLEV2RUxXLEdBQUc7RXVFTXpCLFlBQVksRTFEcUNKLE9BQVM7RTBEcENqQixNQUFNLEVBQUUsQ0FBRTtFQUNWLFdBQVcsRUFBRSxHQUFJO0VuRXlCYixTQUFZLEVBQUEsSUFBQyxHbUU5QmpCO0VsRW1FRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRXJFZCxlQUFlLENBRWhDO01uRWtFTyxTQUFZLEVBQUEsSUFBQyxHbUVsRW5CO0VsRW1FRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRXJFZCxlQUFlLENBRWhDO01uRWtFTyxTQUFZLEVBQUEsSUFBQyxHbUVsRW5CO0VsRW1FRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRXJFZCxlQUFlLENBRWhDO00zQmdERyxLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdnRVNsQjtNM0JxRWlDLGVBQWUsV0FBVyxDQUExQztRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFa0VqRFAsc0JBQXNCLENBQzlDO0lDT0MsV0FBNkIsRUFBRSxTQUFVLEdEUHpDOztBQUlxQixvQkFBb0IsQ0FFMUM7RS9EWkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLO0UrRFdkLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRXZFc01LLENBQUMsR3VFek1iO0U5RHpCOEIsb0JBQW9CLE9BQU8sQ0FBaEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QThEaUNhLHNCQUFzQixDQUM5QztFQUNDLFVBQVUsRUFBRSxLQUFNO0VBQ2xCLFlBQVksRUFBRSxJQUFLLEdBRm5COztBQUdjLGFBQWEsQ0FFNUI7RUFDQyxNQUFNLEVBQUUsQ0FBRSxHQURWOztBQUtlLGNBQWMsQ0FFOUI7RUFDQyxRQUFRLEVBQUUsUUFBUztFbkVqQmYsR0FBWSxFQUFBLEtBQUM7RUFBYixhQUFZLEVBQUEsS0FBQztFSWpCakIsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLO0UrRGlEZCxPQUFPLEV2RWtLSyxDQUFDLEd1RXJMYjtFbEVxQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJa0V2QmYsY0FBYyxDQUU5QjtNbkVvQk8sR0FBWSxFQUFBLEtBQUM7TUFBYixhQUFZLEVBQUEsS0FBQyxHbUVwQm5CO0VsRXFCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lrRXZCZixjQUFjLENBRTlCO01uRW9CTyxHQUFZLEVBQUEsS0FBQztNQUFiLGFBQVksRUFBQSxLQUFDLEdtRXBCbkI7RTlEOUN3QixjQUFjLE9BQU8sQ0FBcEM7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFa0VEWixpQkFBaUIsQ0FDcEM7STNCbkJHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR2dFNEVsQjtJM0JFbUMsaUJBQWlCLFdBQVcsQ0FBOUM7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QXZDRmhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RWtFSUwsd0JBQXdCLENBQ2xEO0lDOUNDLFdBQTZCLEVBQUUsU0FBVSxHRDhDekM7O0FFMUZrRCxVQUFVLENBRTdEO0VBQ0MsUUFBUSxFQUFFLFFBQVMsR0FEbkI7RXBFbUZFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SW9FckZtQixVQUFVLENBRTdEO01BR0csWUFBWSxFNUR5RE4sRUFBRTtNNER4RFIsYUFBYSxFNUR3RFAsRUFBRSxHNEQ1RFY7O0FBTWlCLGdCQUFnQixDQUNsQztFQUNDLFFBQVEsRUFBRSxRQUFTLEdBRG5CO0VoRVMwQixnQkFBZ0IsT0FBTyxDQUF4QztJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osT0FBTyxFQUFFLEVBQUc7SUFDWixPQUFPLEVBQUUsS0FBTSxHQUhQO0VKbUVSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SW9FN0VkLGdCQUFnQixDQUNsQztNQUlHLE1BQU0sRUFBRSxDQUFFO01BQ1YsV0FBVyxFQUFFLEdBQUksR0FMbkI7O0FBT2lCLGdCQUFnQixDQUdsQztFQUNDLEtBQUssRXpFYWUsT0FBTztFeUVaM0IsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6RVlGLHdCQUFPO0V5RVgzQixZQUFZLEV6RW1JQyxJQUFJO0V5RWxJakIsS0FBSyxFQUFFLEdBQUk7RUFDWCxhQUFhLEV6RWdJQSxJQUFJO0V5RS9IakIsYUFBYSxFQUFFLElBQUs7RUFDcEIsU0FBUyxFQUFFLEtBQU07RUFDakIsS0FBSyxFQUFFLElBQUs7RUFDWixXQUFXLEV6RStIRSxJQUFJLEd5RXhJakI7RXBFa0VFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9FckViLGdCQUFnQixDQUdsQztNQVdHLEtBQUssRUFBRSxJQUFLO01BQ1osYUFBYSxFQUFFLENBQUU7TUFDakIsV0FBVyxFekU0SEEsSUFBSSxHeUV6SWpCO0VwRWtFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lvRXJFZCxnQkFBZ0IsQ0FHbEM7TUFpQkcsU0FBUyxFQUFFLElBQUs7TUFDaEIsUUFBUSxFQUFFLFFBQVM7TUFDbkIsR0FBRyxFQUFFLENBQUU7TUFDUCxPQUFPLEV6RTZNRyxDQUFDO015RTVNWCxXQUFXLEV6RW1IQSxJQUFJO015RWxIZixLQUFLLEVBQUUsR0FBSSxHQXRCYjtFcEVrRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJb0VyRWQsZ0JBQWdCLENBR2xDO01BeUJHLFdBQVcsRXpFZ0hBLElBQUk7TXlFL0dmLEtBQUssRUFBRSxHQUFJLEdBMUJiO0VwRWtFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lvRXJFZCxnQkFBZ0IsQ0FHbEM7TUE2QkcsV0FBVyxFekU2R0EsSUFBSTtNeUU1R2YsS0FBSyxFQUFFLEdBQUksR0E5QmI7O0FwRWtFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRWpDUixzQkFBc0IsQ0FDOUM7SUFFRyxLQUFLLEU1REdDLE9BQVMsRzRETGpCOztBcEVnQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFb0U1QlAsdUJBQXVCLENBQ2hEO0lBRUcsSUFBSSxFNURGRSxPQUFTLEc0REFqQjs7QUFJdUIsc0JBQXNCLENBSzlDO0VBQ0MsV0FBVyxFQUFFLEVBQUc7RUFDaEIsTUFBTSxFQUFFLENBQUU7RUFDVixTQUFTLEVBQUUsSUFBSyxHQUhoQjtFcEVrQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0V2QlAsc0JBQXNCLENBSzlDO01BS0csU0FBUyxFQUFFLElBQUssR0FMbEI7RXBFa0JFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SW9FdkJQLHNCQUFzQixDQUs5QztNQVFHLFNBQVMsRUFBRSxJQUFLLEdBUmxCO0VwRWtCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lvRXZCUixzQkFBc0IsQ0FLOUM7TUFXRyxTQUFTLEVBQUUsSUFBSyxHQVhsQjtFcEVrQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtJb0V2QlIsc0JBQXNCLENBSzlDO01BY0csU0FBUyxFQUFFLElBQUssR0FkbEI7O0FBZ0I2Qiw0QkFBNEIsQ0FDMUQ7RUFDQyxTQUFTLEVBQUUsSUFBSyxHQURoQjtFcEVDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvRUZELDRCQUE0QixDQUMxRDtNQUdHLFNBQVMsRUFBRSxJQUFLLEdBSGxCOztBQUttQixrQkFBa0IsQ0FJdEM7RUFDQyxVQUFVLEV6RTRERyxJQUFJLEd5RTdEakI7RXBFUkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJb0VJWCxrQkFBa0IsQ0FJdEM7TUFHRyxVQUFVLEVBQUUsQ0FBRTtNQUNkLE9BQU8sRXpFbUpHLENBQUM7TXlFbEpYLFFBQVEsRUFBRSxRQUFTO01BQ25CLEdBQUcsRUFBRSxJQUFLO01BQ1YsTUFBTSxFQUFFLENBQUU7TUFDVixLQUFLLEVBQUUsSUFBSyxHQVJkOztBcEVSRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRWtCTix3QkFBd0IsQ0FDbEQ7SUFFRyxJQUFJLEU1RGhERSxPQUFTLEc0RDhDakI7O0FwRW5CRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRXVCTCx5QkFBeUIsQ0FDcEQ7SUFFRyxLQUFLLEU1RHJEQyxPQUFTLEc0RG1EakI7O0FwRXhCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VvRWtDVixtQkFBbUIsQ0FHeEM7SUFFRyxLQUFLLEVsRW5IQyxTQUFVO0lrRW9IaEIsS0FBSyxFQUFFLElBQUs7SUFDWixjQUFjLEVBQUUsSUFBSztJQUNyQixVQUFVLEV6RTJCQyxJQUFJLEd5RWhDakI7O0FwRXJDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VvRWtDVixtQkFBbUIsQ0FHeEM7SUFTRyxjQUFjLEVBQUUsS0FBTSxHQVR4Qjs7QXBFckNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RW9Fa0NYLG1CQUFtQixDQUd4QztJQVlHLFVBQVUsRUFBRSxDQUFFO0lBQ2QsY0FBYyxFQUFFLENBQUU7SUFDbEIsS0FBSyxFbEUvSEMsU0FBVTtJa0VnSWhCLFFBQVEsRUFBRSxRQUFTO0lBQ25CLE1BQU0sRUFBRSxHQUFJO0lBQ1osT0FBTyxFekVzR0csR0FBRyxHeUV2SGY7O0FwRXJDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRXdETCx5QkFBeUIsQ0FDcEQ7SUFFRyxJQUFJLEU1RHRGRSxPQUFTO0k0RHVGZixhQUFhLEV6RVFGLElBQUksR3lFWGpCOztBcEV6REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsTUFBTTtFb0V3REwseUJBQXlCLENBQ3BEO0lBTUcsYUFBYSxFekVRRixJQUFJLEd5RWRqQjs7QXBFekRFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RW9FaUVKLDBCQUEwQixDQUN0RDtJQUVHLEtBQUssRTVEL0ZDLE9BQVM7STREZ0dmLFlBQVksRXpFREQsSUFBSSxHeUVGakI7O0FwRWxFRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRWlFSiwwQkFBMEIsQ0FDdEQ7SUFNRyxZQUFZLEV6RURELElBQUksR3lFTGpCOztBcEVsRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFb0UwRVosaUJBQWlCLENBRXBDO0lBSUcsT0FBTyxFQUFFLFlBQWEsR0FKeEI7O0FBU3FCLG9CQUFvQixDQUMxQztFQUNDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDekVsQkUsSUFBSSxHeUVpQmpCO0VwRXRGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lvRXFGVCxvQkFBb0IsQ0FDMUM7TUFHRyxNQUFNLEVBQUUsQ0FBRTtNQUNWLEtBQUssRWxFdEtDLFNBQVU7TWtFdUtoQixLQUFLLEVBQUUsS0FBTSxHQUxmO0VwRXRGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0lvRXFGVixvQkFBb0IsQ0FDMUM7TUFRRyxLQUFLLEVsRTFLQyxTQUFVO01rRTJLaEIsUUFBUSxFQUFFLFFBQVM7TUFDbkIsT0FBTyxFekUrREcsQ0FBQztNeUU5RFgsTUFBTSxFQUFFLEdBQUk7TUFDWixHQUFHLEVBQUUsSUFBSztNQUNWLElBQUksRUFBRSxTQUFDLEdBYlQ7O0FwRXRGRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRXFHVixvQkFBb0IsQ0FVMUM7SUFFRyxPQUFPLEVBQUUsSUFBSyxHQUZoQjs7QXBFL0dFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RW9FcUdWLG9CQUFvQixDQVUxQztJQUtHLE1BQU0sRUFBRSxDQUFFO0lBQ1YsUUFBUSxFQUFFLFFBQVM7SUFDbkIsT0FBTyxFekV5Q0csQ0FBQztJeUV4Q1gsS0FBSyxFbEVuTUMsU0FBVTtJa0VvTWhCLE1BQU0sRUFBRSxJQUFLLEdBVGY7O0FwRS9HRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRTBISiwwQkFBMEIsQ0FDdEQ7SUFFRyxLQUFLLEU1RHhKQyxPQUFTLEc0RHNKakI7O0FwRTNIRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VvRStISCwyQkFBMkIsQ0FDeEQ7SUFFRyxJQUFJLEU1RDdKRSxPQUFTLEc0RDJKakI7O0FDak4wQix5QkFBeUIsQ0FDcEQ7RUFDQyxRQUFRLEVBQUUsUUFBUztFQUNuQixnQkFBZ0IsRTFFbUNJLE9BQU87RTBFbEMzQixlQUFlLEVBQUUsS0FBTTtFQUN2QixpQkFBaUIsRUFBRSxTQUFVO0VBQzdCLG1CQUFtQixFQUFFLE9BQVE7RWxFcUI3QixTQUFTLEVSMkxXLE1BQU07RVExTDFCLE1BQU0sQ0FBQyxBQUNMLElBQUksRUFBRSxJQUFLO0VBRGIsTUFBTSxDQUFDLEFBRUwsS0FBSyxFQUFFLElBQUs7RWtFdEJkLE9BQU8sRUFBRSxLQUFNLEdBUGY7RWpFYW1DLHlCQUF5QixPQUFPLENBQTFEO0lBQ1AsS0FBSyxFQUFFLElBQUs7SUFDWixPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxLQUFNLEdBSFA7O0FKbUVSLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXFFeEVELDRCQUE0QixDQUMxRDtJQUVHLFlBQVksRUFBRSxFQUFHO0lBQ2pCLGFBQWEsRUFBRSxFQUFHLEdBSHBCOztBckV1RUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFcUV4RUQsNEJBQTRCLENBQzFEO0k5Qm9ERyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVO0lpRW1DbEIsV0FBNkIsRUFBRSxTQUFVLEdFOUJ6QztJOUJ5RThDLDRCQUE0QixXQUFXLENBQXBFO01BQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0F2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VxRXhFRCw0QkFBNEIsQ0FDMUQ7STlCb0RHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVU7SWlFbUNsQixXQUE2QixFQUFFLFNBQVUsR0U5QnpDO0k5QnlFOEMsNEJBQTRCLFdBQVcsQ0FBcEU7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QThCNURRLHlCQUF5QixDQUNwRDtFQUNDLEtBQUssRTFFWWUsT0FBTztFMEVYM0IsV0FBVyxFMUV2QlcsYUFBYSxFQUFFLFVBQVU7RUl5QzNDLFNBQVksRUFBQSxJQUFDLEdzRXBCakI7RXJFeURFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXFFMURKLHlCQUF5QixDQUNwRDtNdEV3RE8sU0FBWSxFQUFBLElBQUMsR3NFeERuQjtFckV5REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJcUUxREoseUJBQXlCLENBQ3BEO010RXdETyxTQUFZLEVBQUEsSUFBQyxHc0V4RG5CO0VBWTZCLHlCQUF5QixDQUFDLENBQUMsQ0FBdEQ7SUFDQSxVQUFVLEVBQUUsSUFBSztJQUNqQixhQUFhLEVBQUUsSUFBSyxHQUZuQjtJQUd5Qyx5QkFBeUIsQ0FBQyxDQUFDLFlBQVksQ0FBbkU7TUFDWixVQUFVLEVBQUUsQ0FBRSxHQUREO0lBRzBCLHlCQUF5QixDQUFDLENBQUMsV0FBVyxDQUFsRTtNQUNYLGFBQWEsRUFBRSxDQUFFLEdBREw7O0FyRXVDZCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzRS9Fc0QsYUFBYSxDQUlsRztJQUVHLFlBQVksRTlEa0ROLEVBQUU7SThEakRSLGFBQWEsRTlEaURQLEVBQUUsRzhEcERWOztBQUtvQixtQkFBbUIsQ0FDeEM7RW5FZUMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLO0VtRWhCZCxRQUFRLEVBQUUsUUFBUyxHQUZuQjtFbEVFNkIsbUJBQW1CLE9BQU8sQ0FBOUM7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VsRVAsc0JBQXNCLENBQzlDO0kvQjhDRyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdvRVdsQjtJL0JtRXdDLHNCQUFzQixXQUFXLENBQXhEO01BQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0F2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzRWxFUCxzQkFBc0IsQ0FDOUM7SS9COENHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR29FV2xCO0kvQm1Fd0Msc0JBQXNCLFdBQVcsQ0FBeEQ7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjs7QXZDRmhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXNFbEVQLHNCQUFzQixDQUM5QztJL0I4Q0csS0FBSyxFQUFBLElBQUM7SUFHSixPQUFPLEVBQUUsS0FBTTtJQWVmLFlBQW9CLEVyQ3RFaEIsUUFBVTtJcUN1RWQsS0FBSyxFckM1RUQsSUFBVTtJb0VxQmhCLFdBQVcsRUFBRSxDQUFFO0lBQ2YsWUFBWSxFQUFFLENBQUUsR0FYbEI7SS9CbUV3QyxzQkFBc0IsV0FBVyxDQUF4RDtNQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VsRVAsc0JBQXNCLENBQzlDO0lBZUcsUUFBUSxFQUFFLFFBQVM7SUFDbkIsR0FBRyxFQUFFLEdBQUk7SUFDVCxTQUFTLEVBQUUsZ0JBQVU7SUFDckIsT0FBTyxFM0U4TUcsQ0FBQztJMkU3TVgsWUFBWSxFQUFFLENBQUUsR0FuQmxCOztBdEVpRUUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0UzQ0QsNEJBQTRCLENBQzFEO0lIQ0MsV0FBNkIsRUFBRSxTQUFVLEdHRHpDOztBdEUwQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0UzQ0QsNEJBQTRCLENBQzFEO0lIQ0MsV0FBNkIsRUFBRSxTQUFVLEdHRHpDOztBdEUwQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0UzQ0QsNEJBQTRCLENBQzFEO0lIQ0MsV0FBNkIsRUFBRSxFQUFVLEdHRHpDOztBdEUwQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VoQ0EsNkJBQTZCLENBQzVEO0lIVkMsV0FBNkIsRUFBRSxPQUFVLEdHVXpDOztBdEUrQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VoQ0EsNkJBQTZCLENBQzVEO0lIVkMsV0FBNkIsRUFBRSxFQUFVLEdHVXpDOztBQWFtQixrQkFBa0IsQ0FDdEM7RUFDQyxNQUFNLEVBQUUsQ0FBRTtFQUNWLFFBQVEsRUFBRSxRQUFTO0VBQ25CLGdCQUFnQixFM0U1QkksT0FBTztFMkU2QjNCLGlCQUFpQixFQUFFLFNBQVU7RUFDN0IsZUFBZSxFQUFFLEtBQU07RUFDdkIsbUJBQW1CLEVBQUUsT0FBUSxHQU43QjtFdEVpQkUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0VsQlgsa0JBQWtCLENBQ3RDO00vQkZHLEtBQUssRUFBQSxJQUFDO01BR0osT0FBTyxFQUFFLEtBQU07TUFlZixZQUFvQixFckN0RWhCLFFBQVU7TXFDdUVkLEtBQUssRXJDNUVELFNBQVU7TW9Fb0VoQixXQUFXLEVBQUUsR0FBSSxHQVRuQjtNL0JtQm9DLGtCQUFrQixXQUFXLENBQWhEO1FBQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7RXZDRmhCLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNFbEJYLGtCQUFrQixDQUN0QztNQVlHLFdBQVcsRUFBRSxHQUFJO00vQmRqQixLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdvRTJEbEI7TS9CbUJvQyxrQkFBa0IsV0FBVyxDQUFoRDtRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaO0V2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRWxCWCxrQkFBa0IsQ0FDdEM7TUFpQkcsV0FBVyxFQUFFLEdBQUk7TS9CbkJqQixLQUFLLEVBQUEsSUFBQztNQUdKLE9BQU8sRUFBRSxLQUFNO01BZWYsWUFBb0IsRXJDdEVoQixRQUFVO01xQ3VFZCxLQUFLLEVyQzVFRCxJQUFVO01vRThFaEIsV0FBVyxFQUFFLENBQUU7TUFDZixZQUFZLEVBQUUsQ0FBRTtNQUNoQixhQUFhLEUzRWlFRixJQUFJLEcyRXRGakI7TS9CbUJvQyxrQkFBa0IsV0FBVyxDQUFoRDtRQUNYLFlBQW9CLEVBQUUsQ0FBRSxHQURaOztBdkNGaEIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VNTCx3QkFBd0IsQ0FDbEQ7SUhoREMsV0FBNkIsRUFBRSxPQUFVLEdHZ0R6Qzs7QXRFUEUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VNTCx3QkFBd0IsQ0FDbEQ7SUhoREMsV0FBNkIsRUFBRSxFQUFVLEdHZ0R6Qzs7QXRFUEUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFc0VlSix5QkFBeUIsQ0FDcEQ7SUh6REMsV0FBNkIsRUFBRSxTQUFVLEdHeUR6Qzs7QXRFaEJFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXNFZUoseUJBQXlCLENBQ3BEO0lBTUcsWUFBWSxFQUFFLENBQUU7SUgvRGxCLFdBQTZCLEVBQUUsU0FBVSxHR3lEekM7O0F0RWhCRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VzRWVKLHlCQUF5QixDQUNwRDtJSHpEQyxXQUE2QixFQUFFLEVBQVUsR0d5RHpDOztBQWUyQiwwQkFBMEIsQ0FFdEQ7RXZFdEVLLFVBQVksRUFBQSxJQUFDLEd1RXNFakI7RXRFakNFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7SXNFK0JILDBCQUEwQixDQUV0RDtNdkVsQ08sVUFBWSxFQUFBLElBQUMsR3VFa0NuQjs7QUFTc0IscUJBQXFCLENBQzVDO0VBQ0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMzRWhHRyxPQUFPO0UyRWlHM0IsS0FBSyxFM0VqR2UsT0FBTztFMkVrRzNCLE9BQU8sRUFBRSxZQUFhO0V2RW5GbEIsU0FBWSxFQUFBLElBQUM7RXVFK0ZqQixXQUFXLEUzRWhJVyxHQUFHO0UyRWlJekIsT0FBTyxFM0VRTSxJQUFJLENBRUosSUFBSTtFMkVUakIsV0FBVyxFQUFFLENBQUU7RUFDZixVQUFVLEVBQUUsR0FBRyxDM0UxSFEsV0FBVyxDQUZYLEtBQUssRzJFMEc1QjtFdEUzQ0UsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztJc0UwQ1IscUJBQXFCLENBQzVDO012RTVDTyxTQUFZLEVBQUEsSUFBQyxHdUU0Q25CO0V0RTNDRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0lzRTBDUixxQkFBcUIsQ0FDNUM7TXZFNUNPLFNBQVksRUFBQSxJQUFDLEd1RTRDbkI7RXRFM0NFLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07SXNFMENULHFCQUFxQixDQUM1QztNdkU1Q08sU0FBWSxFQUFBLElBQUMsR3VFNENuQjtFQW1COEIscUJBQXFCLE1BQU0sQ0FBakQ7SUFFTixPQUFPLEVBQUUsWUFBYTtJQUN0QixjQUFjLEVBQUUsTUFBTztJQUN2QixPQUFPLEU3RTNFUSxLQUFPO0k2RTRFdEIsU0FBUyxFQUFFLEdBQUk7SUFDZixXQUFXLEUzRUhBLEdBQUc7STJFSWQsS0FBSyxFM0V6SGEsT0FBTztJMkUwSHpCLFVBQVUsRUFBRSxLQUFLLEMzRW5JSSxXQUFXLENBRlgsS0FBSyxFMkVxSTZCLFNBQVMsQzNFbkkzQyxXQUFXLENBRlgsS0FBSyxDQUFMLEtBQUssRzJFNkhuQjtFekUxRHVDLGVBQWUsQ0FBQyxxQkFBcUIsTUFBTSxDQUFqRjtJeUVxRVIsS0FBSyxFM0V4SGEsT0FBTztJMkV5SHpCLFlBQVksRTNFekhNLE9BQU8sR0VtRGhCO0l5RXVFMkMsZUFBZSxDQUFDLHFCQUFxQixNQUFNLE1BQU0sQ0FBN0Y7TUFDTixLQUFLLEUzRTNIVyxPQUFPO00yRTRIdkIsU0FBUyxFQUFFLGVBQVUsR0FGZDs7QXRFM0VULE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RXVFckZ5QixlQUFlLENBRXZFO0lBRUcsWUFBWSxFL0QwRE4sRUFBRTtJK0R6RFIsYUFBYSxFL0R5RFAsRUFBRSxHK0Q1RFY7O0FBS3NCLHFCQUFxQixDQUM1QztFcEV1QkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEdvRTFCZDtFbkVVK0IscUJBQXFCLE9BQU8sQ0FBbEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QW1FTFcsb0JBQW9CLENBQzFDO0VBQ0MsTUFBTSxFQUFFLENBQUUsR0FEVjs7QUFLdUIsc0JBQXNCLENBQzlDO0VwRVdDLFNBQVMsRVIyTFcsTUFBTTtFUTFMMUIsTUFBTSxDQUFDLEFBQ0wsSUFBSSxFQUFFLElBQUs7RUFEYixNQUFNLENBQUMsQUFFTCxLQUFLLEVBQUUsSUFBSyxHb0VkZDtFbkVGZ0Msc0JBQXNCLE9BQU8sQ0FBcEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QUptRVIsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFdUUvRFIscUJBQXFCLENBQzVDO0lBRUcsV0FBVyxFQUFFLElBQUs7SUFDbEIsWUFBWSxFQUFFLElBQUs7SUFDbkIsYUFBYSxFNUU4SEYsSUFBSSxHNEVsSWpCOztBdkU4REUsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFdUUvRFIscUJBQXFCLENBQzVDO0loQzJDRyxLQUFLLEVBQUEsSUFBQztJQUdKLE9BQU8sRUFBRSxLQUFNO0lBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0lxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdxRWNsQjtJaENnRXVDLHFCQUFxQixXQUFXLENBQXREO01BQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7O0F2Q0ZoQixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0V1RS9EUixxQkFBcUIsQ0FDNUM7SWhDMkNHLEtBQUssRUFBQSxJQUFDO0lBR0osT0FBTyxFQUFFLEtBQU07SUFlZixZQUFvQixFckN0RWhCLFFBQVU7SXFDdUVkLEtBQUssRXJDNUVELFNBQVUsR3FFY2xCO0loQ2dFdUMscUJBQXFCLFdBQVcsQ0FBdEQ7TUFDWCxZQUFvQixFQUFFLENBQUUsR0FEWjtJZ0NyRG9CLHFCQUFxQixZQUFZLENBQXZEO01KVWhCLFdBQTZCLEVBQUUsT0FBVSxHSVZ4Qjs7QUFJSyxxQkFBcUIsQ0FDNUM7RUFDQyxPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxRQUFTLEdBRm5CO0VBR29GLGVBQWUsQ0FBQyxxQkFBcUIsTUFBTSxDQUFDLHNCQUFzQixDQUNuSjtJQUNDLEtBQUssRTVFSFcsT0FBTztJNEVJdkIsWUFBWSxFNUVKSSx3QkFBTztJNEVLdkIsVUFBVSxFNUVMTSx3QkFBTyxHNEVFdkI7SUFJMkUsZUFBZSxDQUFDLHFCQUFxQixNQUFNLENBQUMsc0JBQXNCLE1BQU0sQ0FBM0k7TUFDTixTQUFTLEVBQUUsZUFBVSxHQURkOztBQUtlLDJCQUEyQixDQUV4RDtFQUNDLFVBQVUsRUFBRSxNQUFPO0VBQ25CLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsR0FBSTtFQUNULFNBQVMsRUFBRSxnQkFBVTtFQUNyQixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEU1RXVMSyxDQUFDLEc0RTlMYjs7QUFRdUIsc0JBQXNCLENBQzlDO0VBRUMsVUFBVSxFQUFFLEdBQUcsQzVFekNRLFdBQVcsQ0FGWCxLQUFLLEc0RXlDNUI7RUFHK0Isc0JBQXNCLE1BQU0sQ0FBbkQ7SUFDTixVQUFVLEVBQUUsU0FBUyxDNUUzQ0EsV0FBVyxDQUZYLEtBQUssRzRFNENuQjs7QUM5RFcsbUJBQW1CLENBQ3hDO0VBQ0MsVUFBVSxFN0VvQ1UsT0FBTztFNkVuQzNCLE9BQU8sRTdFbUpNLElBQUksQzZFbkpHLENBQUMsR0FGckI7O0FBR3FCLG9CQUFvQixDQUMxQztFckVzQkMsU0FBUyxFUjJMVyxNQUFNO0VRMUwxQixNQUFNLENBQUMsQUFDTCxJQUFJLEVBQUUsSUFBSztFQURiLE1BQU0sQ0FBQyxBQUVMLEtBQUssRUFBRSxJQUFLLEdxRXpCZDtFcEVTOEIsb0JBQW9CLE9BQU8sQ0FBaEQ7SUFDUCxLQUFLLEVBQUUsSUFBSztJQUNaLE9BQU8sRUFBRSxFQUFHO0lBQ1osT0FBTyxFQUFFLEtBQU0sR0FIUDs7QW9FUFUsbUJBQW1CLENBQ3hDO0VqQ3NERyxLQUFLLEVBQUEsSUFBQztFQUdKLE9BQU8sRUFBRSxLQUFNO0VBZWYsWUFBb0IsRXJDdEVoQixRQUFVO0VxQ3VFZCxLQUFLLEVyQzVFRCxTQUFVLEdzRUdsQjtFakMyRXFDLG1CQUFtQixXQUFXLENBQWxEO0lBQ1gsWUFBb0IsRUFBRSxDQUFFLEdBRFo7RWlDekVnQixtQkFBbUIsWUFBWSxDQUFuRDtJQUNaLFVBQVUsRUFBRSxLQUFNLEdBREw7O0FBR0ssbUJBQW1CLENBQ3hDO0VBQ0MsT0FBTyxFQUFFLFlBQWE7RUFDdEIsVUFBVSxFQUFFLFdBQVk7RUFDeEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3RVdHLE9BQU87RTZFVjNCLEtBQUssRTdFVWUsT0FBTztFNkVUM0IsV0FBVyxFN0VSVyxHQUFHO0U2RVN6QixXQUFXLEVBQUUsQ0FBRTtFekV3QlgsU0FBWSxFQUFBLElBQUM7RUFBYixPQUFZLEVBQUEsUUFBQyxHeUU5QmpCO0V4RW1FRSxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0l3RXBFVixtQkFBbUIsQ0FDeEM7TXpFa0VPLFNBQVksRUFBQSxJQUFDO01BQWIsT0FBWSxFQUFBLFNBQUMsR3lFbEVuQjtFM0V1RThDLGVBQWUsQ0FBQyxtQkFBbUIsTUFBTSxDQUE3RTtJMkVqRFIsS0FBSyxFN0VSYSxPQUFPLEdFeURoQjtFMkUvQ3FCLFVBQVUsbUJBQW1CLENBQWpEO0lBQ1YsVUFBVSxFN0VYUSxPQUFPO0k2RVl6QixLQUFLLEU3RUhhLE9BQU8sRzZFQ2Q7STNFK0MyQyxlQUFlLENBQUMsVUFBVSxtQkFBbUIsTUFBTSxDQUFqRztNMkUzQ04sS0FBSyxFN0VMVyxPQUFPLEdFZ0RoQjs7QTRFekZtQyxNQUFNLENBRXJEO0VBQ0MsT0FBTyxFQUFFLElBQUssR0FEZDtFQUVtQixVQUFVLE1BQU0sQ0FBdkI7SUFDVixPQUFPLEVBQUUsS0FBTSxHQURKOztBQ3VFZixPQUFPLENBQUM7RUFDTixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLE9BQU8sRUFBRSxJQUFpQjtFQUMxQixRQUFRLEVBQUUsTUFBTztFQUNqQixRQUFRLEVBQUUsS0FBTTtFQUVoQixVQUFVLEVBeEQwQixJQUFJO0VBeUR4QyxPQUFPLEVBeEQ2QixHQUFHLEdBOENoQzs7QUFjVCxTQUFTLENBQUM7RUFDUixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLE9BQU8sRUFBRSxJQUFpQjtFQUMxQixRQUFRLEVBQUUsS0FBTTtFQUNoQixPQUFPLEVBQUUsZUFBZ0I7RUFDekIsMkJBQTJCLEVBQUUsTUFBTyxHQVIzQjs7QUFZWCxjQUFjLENBQUM7RUFDYixVQUFVLEVBQUUsTUFBTztFQUNuQixRQUFRLEVBQUUsUUFBUztFQUNuQixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsSUFBSSxFQUFFLENBQUU7RUFDUixHQUFHLEVBQUUsQ0FBRTtFQUNQLE9BQU8sRUFBRSxDQUFDLENBM0UwQixHQUFHO0VBNEV2QyxVQUFVLEVBQUUsVUFBVyxHQVJUO0VBU2IsY0FBYyxPQUFPLENBQWI7SUFDUCxPQUFPLEVBQUUsRUFBRztJQUNaLE9BQU8sRUFBRSxZQUFhO0lBQ3RCLE1BQU0sRUFBRSxJQUFLO0lBQ2IsY0FBYyxFQUFFLE1BQU8sR0FKZjs7QUFXUCxjQUFjLENBQUMsY0FBYyxPQUFPLENBQTVCO0VBQ1AsT0FBTyxFQUFFLElBQUssR0FETjs7QUFPZCxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsWUFBYTtFQUN0QixjQUFjLEVBQUUsTUFBTztFQUN2QixNQUFNLEVBQUUsTUFBTztFQUNmLFVBQVUsRUFBRSxJQUFLO0VBQ2pCLE9BQU8sRUFBRSxJQUFpQixHQU5kOztBQVVaLGtCQUFrQixDQUFDLFlBQVk7QUFDakMsZ0JBQWdCLENBQUMsWUFBWSxDQURkO0VBQ1gsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSyxHQUZEOztBQU9oQixhQUFhLENBQUM7RUFDWixNQUFNLEVBQUUsUUFBUyxHQURKOztBQUdmLFNBQVMsQ0FBQztFQUNSLE1BQU0sRUFBRSxPQUFRLEdBRFA7O0FBSVQsZ0JBQWdCLENBQUMsWUFBWSxDQUFoQjtFQUNYLE1BQU0sRUFBRSxJQUFLLEdBREQ7O0FBUWhCLFVBQVU7QUFDVixVQUFVO0FBQ1YsY0FBYztBQUNkLFlBQVksQ0FIQztFQUNYLFdBQVcsRUFBRSxJQUFLLEdBRE47O0FBTVgsWUFBWSxXQUFXLENBQVg7RUFDWCxPQUFPLEVBQUUsSUFBSyxHQURGOztBQVVoQixjQUFjLENBQUM7RUFDYixLQUFLLEVBckkrQixJQUFJO0VBc0l4QyxRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsR0FBSTtFQUNULEtBQUssRUFBRSxJQUFLO0VBQ1osVUFBVSxFQUFFLE1BQU87RUFDbkIsVUFBVSxFQUFFLE1BQU87RUFDbkIsSUFBSSxFQUFFLEdBQUk7RUFDVixLQUFLLEVBQUUsR0FBSTtFQUNYLE9BQU8sRUFBRSxJQUFpQixHQVRaO0VBVWQsY0FBYyxDQUFDLENBQUMsQ0FBZDtJQUNBLEtBQUssRUEvSTZCLElBQUksR0E4SXJDO0lBRUEsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFmO01BQ04sS0FBSyxFQWhKMkIsSUFBSSxHQStJN0I7O0FBUVgsWUFBWSxDQUFDLGNBQWMsQ0FBWjtFQUNiLE9BQU8sRUFBRSxJQUFLLEdBREE7O0FBT2hCLFlBQVksQ0FBQyxZQUFZLENBQVo7RUFDWCxPQUFPLEVBQUUsSUFBSyxHQURGOztBQVFiLE1BQU0sVUFBVTtBQUNuQixNQUFNLFVBQVUsQ0FERjtFQUNWLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLE1BQU0sRUFBRSxPQUFRO0VBQ2hCLFVBQVUsRUFBRSxXQUFZO0VBQ3hCLE1BQU0sRUFBRSxDQUFFO0VBQ1Ysa0JBQWtCLEVBQUUsSUFBSztFQUN6QixPQUFPLEVBQUUsS0FBTTtFQUNmLE9BQU8sRUFBRSxJQUFLO0VBQ2QsT0FBTyxFQUFFLENBQUU7RUFDWCxPQUFPLEVBQUUsSUFBaUI7RUFDMUIsVUFBVSxFQUFFLElBQUssR0FWTjs7QUFZWixNQUFNLGtCQUFrQixDQUFMO0VBQ2hCLE9BQU8sRUFBRSxDQUFFO0VBQ1gsTUFBTSxFQUFFLENBQ1gsR0FIb0I7O0FBUXZCLFVBQVUsQ0FBQztFQUdULEtBQUssRUFEZSxJQUFJO0VBRXhCLE1BQU0sRUFGYyxJQUFJO0VBR3hCLE9BQU8sRUFBRSxFQUFHO0VBQ1osUUFBUSxFQUFFLFFBQVM7RUFDbkIsS0FBSyxFQUFFLENBQUU7RUFDVCxHQUFHLEVBQUUsQ0FBRSxHQVJHO0VqRjVOVCxVQUFVLE9BQU8sQ0FBVDtJQUNQLHVCQUF1QixFQUFFLFNBQVU7SUFDbkMsc0JBQXNCLEVBQUUsV0FBWTtJQUNwQyxPQUFPLEVBNEZDLEtBQU87SUEzRmYsV0FBVyxFQUFFLE9BQVE7SUFDckIsVUFBVSxFQUFFLE1BQU87SUFDbkIsWUFBWSxFQUFFLE1BQU87SUFDckIsV0FBVyxFQUFFLE1BQU87SUFDcEIsV0FBVyxFQUFFLENBQUU7SUFDZixLQUFLLEVBQUUsSUFBSztJQUNaLGNBQWMsRUFBRSxJQUFLLEdBVmI7RWlGdU9ULFVBQVUsT0FBTyxDQUFUO0lBQ1AsUUFBUSxFQUFFLFFBQVM7SUFDbkIsSUFBSSxFQUFFLENBQUU7SUFDUixHQUFHLEVBQUUsQ0FBRTtJQUNQLEtBQUssRUFBRSxJQUFLO0lBQ1osVUFBVSxFQUFFLE1BQU87SUFDbkIsS0FBSyxFL0V0TmEsT0FBTztJK0V1TnpCLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFdBQVcsRUFqQk8sSUFBSTtJQWtCdEIsS0FBSyxFQWxCYSxJQUFJO0lBbUJ0QixNQUFNLEVBbkJZLElBQUk7SUFvQnRCLFNBQVMsRUFBRSxhQUFNO0lBQ2pCLFNBQVMsRUFBRSxJQUFLLEdBWlI7O0FBZ0JaLFlBQVksQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsS0FBSyxFQUFFLENBQUU7RUFDVCxLQUFLLEVBMU4rQixJQUFJO0VBMk54QyxTQUFTLEVBQUUsSUFBSztFQUNoQixXQUFXLEVBQUUsSUFBSztFQUNsQixXQUFXLEVBQUUsTUFBTyxHQVBSOztBQVlaLFVBQVUsQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUF4TzJCLElBQUk7RUF5T3RDLE1BQU0sRUFBRSxDQUFFO0VBQ1YsR0FBRyxFQUFFLEdBQUk7RUFDVCxPQUFPLEVBQUUsQ0FBRTtFQUNYLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLDJCQUEyQixFQUFFLFdBQUk7RTNFck8vQixLQUFZLEVBQUEsSUFBQztFQUFiLE1BQVksRUFBQSxJQUFDO0VBQWIsVUFBWSxFQUFBLEtBQUMsRzJFOE5MO0UxRXpMVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwRXlMOUIsVUFBVSxDQUFDO00zRTFMTCxLQUFZLEVBQUEsSUFBQztNQUFiLE1BQVksRUFBQSxJQUFDO01BQWIsVUFBWSxFQUFBLEtBQUMsRzJFMExQO0UxRXpMVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0kwRXlMOUIsVUFBVSxDQUFDO00zRTFMTCxLQUFZLEVBQUEsSUFBQztNQUFiLE1BQVksRUFBQSxJQUFDO01BQWIsVUFBWSxFQUFBLEtBQUMsRzJFMExQO0UxRXpMVixNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0kwRXlML0IsVUFBVSxDQUFDO00zRTFMTCxLQUFZLEVBQUEsSUFBQztNQUFiLE1BQVksRUFBQSxLQUFDO01BQWIsVUFBWSxFQUFBLEtBQUMsRzJFMExQO0VBa0NWLFVBQVUsQ0FBQyxHQUFHLENBQVY7SUFDRixLQUFLLEVBQUUsSUFBSztJQUNaLE1BQU0sRUFBRSxLQUFNO0lBQ2QsUUFBUSxFQUFFLFFBQVM7SUFDbkIsSUFBSSxFQUFFLEdBQUk7SUFDVixHQUFHLEVBQUUsR0FBSTtJQUNULFdBQVcsRUFBRSxJQUFLO0lBQ2xCLFVBQVUsRUFBRSxLQUFNLEdBUGY7SUFRSCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBZDtNQUNBLElBQUksRUFBRSxJQUFLLEdBRFY7O0FBTVAsZUFBZSxDQUFDO0VBQ2QsSUFBSSxFQUFFLENBQUUsR0FETzs7QUFJakIsZ0JBQWdCLENBQUM7RUFDZixLQUFLLEVBQUUsQ0FBRSxHQURPOztBQVNsQixrQkFBa0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsQ0FBRTtFQUNYLE1BQU0sRS9FcExLLElBQUksQytFb0xFLEtBQUssQy9FcFNKLE9BQU8sRytFa1NQO0VBR2xCLGtCQUFrQixDQUFDLFlBQVksQ0FBbEI7SUFDWCxXQUFXLEVBQUUsQ0FBRTtJQUNmLEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLElBQUssR0FIRDs7QUFNaEIsa0JBQWtCLENBQUM7RUFDakIsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLFFBQVEsRUFBRSxRQUFTLEdBSkQ7RUFNbEIsa0JBQWtCLENBQUMsTUFBTSxDQUFsQjtJQUNMLFFBQVEsRUFBRSxRQUFTO0lBQ25CLE9BQU8sRUFBRSxLQUFNO0lBQ2YsR0FBRyxFQUFFLENBQUU7SUFDUCxJQUFJLEVBQUUsQ0FBRTtJQUNSLEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLElBQUs7SUFFYixVQUFVLEVBaFRzQixJQUFJLEdBd1M5Qjs7QUFrQlYseUJBQXlCO0FBRXRCLEdBQUcsUUFBUSxDQUFGO0VBQ1IsS0FBSyxFQUFFLElBQUs7RUFDWixTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsSUFBSztFQUNiLE9BQU8sRUFBRSxLQUFNO0VBQ2YsV0FBVyxFQUFFLENBQUU7RUFDZixVQUFVLEVBQUUsVUFBVztFQUN2QixNQUFNLEVBQUUsTUFBTyxHQVBOOztBQVdiLGlDQUFpQztBQUNqQyxXQUFXLENBQUM7RUFDVixXQUFXLEVBQUUsQ0FBRSxHQURKO0VBRVYsV0FBVyxNQUFNLENBQVY7SUFDTixPQUFPLEVBQUUsRUFBRztJQUNaLFFBQVEsRUFBRSxRQUFTO0lBQ25CLElBQUksRUFBRSxDQUFFO0lBQ1IsR0FBRyxFQXZVNkIsSUFBSTtJQXdVcEMsTUFBTSxFQXZVMEIsSUFBSTtJQXdVcEMsT0FBTyxFQUFFLEtBQU07SUFDZixLQUFLLEVBQUUsQ0FBRTtJQUNULEtBQUssRUFBRSxJQUFLO0lBQ1osTUFBTSxFQUFFLElBQUs7SUFDYixPQUFPLEVBQUUsRUFBRztJQUVaLFVBQVUsRUFoVnNCLElBQUksR0FvVTdCO0VBY1QsV0FBVyxDQUFDLEtBQUssQ0FBWDtJQUNKLEtBQUssRUE1VTJCLE9BQU87SUE2VXZDLE9BQU8sRUFBRSxLQUFNO0lBQ2YsU0FBUyxFQUFFLElBQUs7SUFDaEIsV0FBVyxFQUFFLElBQUssR0FKYjtFQU1QLFdBQVcsQ0FBQyxNQUFNLENBQVg7SUFDTCxNQUFNLEVBQUUsQ0FBRSxHQURKOztBQUlWLGVBQWUsQ0FBQztFQUNkLFVBQVUsRUFBRSxLQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFFLElBQUs7RUFDVixJQUFJLEVBQUUsQ0FBRTtFQUNSLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLElBQUssR0FORTs7QUFRakIsVUFBVSxDQUFDO0VBQ1QsVUFBVSxFQUFFLElBQUs7RUFDakIsV0FBVyxFQUFFLElBQUs7RUFDbEIsS0FBSyxFQWpXNkIsT0FBTztFQW1XekMsU0FBUyxFQUFFLFVBQVc7RUFDdEIsYUFBYSxFQUFFLElBQUssR0FOVjs7QUFVVixpQkFBaUIsQ0FBQyxZQUFZLENBQWpCO0VBQ1gsU0FBUyxFQUFFLElBQUssR0FESjs7QUFPWixZQUFZLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUE5QjtFQUNWLE1BQU0sRUFBRSxPQUFRLEdBREw7O0FBUWYsTUFBTSxDQUFOLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSyxPQUFPLFdBQVcsRUFBRSxTQUFTLEdBQUcsTUFBTSxNQUFNLFVBQVUsRUFBRSxLQUFLO0VBQ3ZGOztTQUVHO0VBRUQsZUFBZSxDQUFDLGlCQUFpQixDQUFmO0lBQ2hCLFlBQVksRUFBRSxDQUFFO0lBQ2hCLGFBQWEsRUFBRSxDQUFFLEdBRkE7RUFLaEIsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFsQjtJQUNSLE9BQU8sRUFBRSxDQUFFLEdBREY7RUFNVixlQUFlLENBQUMsV0FBVyxNQUFNLENBQTFCO0lBQ04sR0FBRyxFQUFFLENBQUU7SUFDUCxNQUFNLEVBQUUsQ0FBRSxHQUZIO0VBSVQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQTNCO0lBQ0osT0FBTyxFQUFFLE1BQU87SUFDaEIsV0FBVyxFQUFFLEdBQUksR0FGWjtFQUtULGVBQWUsQ0FBQyxlQUFlLENBQWY7SUFDZCxVQUFVLEVBQUUsa0JBQUk7SUFDaEIsTUFBTSxFQUFFLENBQUU7SUFDVixNQUFNLEVBQUUsQ0FBRTtJQUNWLEdBQUcsRUFBRSxJQUFLO0lBQ1YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxLQUFNO0lBQ2hCLGtCQUFrQixFQUFFLFVBQVc7SUFDL0IsZUFBZSxFQUFFLFVBQVc7SUFDNUIsVUFBVSxFQUFFLFVBQVcsR0FUUjtJQVVkLGVBQWUsQ0FBQyxlQUFlLE1BQU0sQ0FBOUI7TUFDTixPQUFPLEVBQUUsQ0FBRSxHQURKO0VBSVgsZUFBZSxDQUFDLFlBQVksQ0FBZjtJQUNYLEtBQUssRUFBRSxHQUFJO0lBQ1gsR0FBRyxFQUFFLEdBQUksR0FGRztFQUlkLGVBQWUsQ0FBQyxVQUFVLENBQWY7SUFDVCxHQUFHLEVBQUUsQ0FBRTtJQUNQLEtBQUssRUFBRSxDQUFFO0lBQ1QsS0FBSyxFQUFFLElBQUs7SUFDWixNQUFNLEVBQUUsSUFBSztJQUNiLFdBQVcsRUFBRSxJQUFLO0lBQ2xCLFVBQVUsRUFBRSxrQkFBSTtJQUNoQixRQUFRLEVBQUUsS0FBTTtJQUNoQixVQUFVLEVBQUUsTUFBTztJQUNuQixPQUFPLEVBQUUsQ0FBRSxHQVREOztBQW1CcEIsTUFBTSxDQUFOLEdBQUcsTUFBTSxTQUFTLEVBQUUsS0FBSztFQUN2QixVQUFVLENBQUM7SUFDVCxpQkFBaUIsRUFBRSxXQUFLO0lBQ3hCLFNBQVMsRUFBRSxXQUFLLEdBRk47RUFJWixlQUFlLENBQUM7SUFDZCx3QkFBd0IsRUFBRSxDQUFFO0lBQzVCLGdCQUFnQixFQUFFLENBQUUsR0FGTDtFQUlqQixnQkFBZ0IsQ0FBQztJQUNmLHdCQUF3QixFQUFFLElBQUs7SUFDL0IsZ0JBQWdCLEVBQUUsSUFBSyxHQUZQO0VBSWxCLGNBQWMsQ0FBQztJQUNiLFlBQVksRUEvZHNCLEdBQUc7SUFnZXJDLGFBQWEsRUFoZXFCLEdBQUcsR0E4ZHZCOztBQ2pnQmxCLGFBQWEsQ0FBQztFQUNaLFFBQVEsRUFBRSxRQUFTO0VBQ25CLE9BQU8sRUFBRSxLQUFNO0VBQ2YsVUFBVSxFQUFFLFVBQVc7RUFDdkIsV0FBVyxFQUFFLElBQUs7RUFDbEIscUJBQXFCLEVBQUUsSUFBSztFQUM1QixrQkFBa0IsRUFBRSxJQUFLO0VBQ3pCLGdCQUFnQixFQUFFLEtBQU07RUFDeEIsWUFBWSxFQUFFLEtBQU07RUFDcEIsMkJBQTJCLEVBQUUsV0FBWSxHQVQ1Qjs7QUFZZixXQUFXLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUztFQUNuQixPQUFPLEVBQUUsS0FBTTtFQUNmLFFBQVEsRUFBRSxNQUFPO0VBQ2pCLE1BQU0sRUFBRSxDQUFFO0VBQ1YsT0FBTyxFQUFFLENBQUUsR0FMQTtFQU1WLFdBQVcsTUFBTSxDQUFWO0lBQ04sT0FBTyxFQUFFLElBQUssR0FEUDtFQUdSLFdBQVcsU0FBUyxDQUFWO0lBQ1QsTUFBTSxFQUFFLE9BQVE7SUFDaEIsTUFBTSxFQUFFLElBQUssR0FGSDs7QUFNZCxZQUFZLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsT0FBTyxFQUFFLEtBQU0sR0FKSDtFQU1YLFlBQVksT0FBTztFQUN0QixZQUFZLE1BQU0sQ0FEUjtJQUNOLE9BQU8sRUFBRSxLQUFNO0lBQ2YsT0FBTyxFQUFFLEVBQUcsR0FGTDtFQUlSLFlBQVksTUFBTSxDQUFYO0lBQ04sS0FBSyxFQUFFLElBQUssR0FETDtFQUlNLGNBQWMsQ0FBQyxZQUFZLENBQXpCO0lBQ2YsVUFBVSxFQUFFLE1BQU8sR0FESDs7QUFPbEIsYUFBYSxDQUFDLFlBQVk7QUFDNUIsYUFBYSxDQUFDLFdBQVcsQ0FEWDtFQUNWLFNBQVMsRUFBRSxvQkFBVyxHQURYOztBQUtmLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUs7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLFVBQVUsRUFBRSxHQUFJO0VBQ2hCLE9BQU8sRUFBRSxJQUFLLEdBTEY7RUFNWixZQUFZLENBQUMsR0FBRyxDQUFaO0lBQ0YsT0FBTyxFQUFFLElBQUs7SUFDZCxPQUFPLEVBQUUsS0FBTSxHQUZaO0VBSVcsWUFBWSxjQUFjLENBQUMsR0FBRyxDQUExQjtJQUNsQixPQUFPLEVBQUUsSUFBSyxHQURLO0VBR1YsWUFBWSxTQUFTLENBQUMsR0FBRyxDQUFyQjtJQUNiLGNBQWMsRUFBRSxJQUFLLEdBRFA7RUFJRyxrQkFBa0IsQ0FBQyxZQUFZLENBQTdCO0lBQ25CLE9BQU8sRUFBRSxLQUFNLEdBREs7RUFHUCxjQUFjLENBQUMsWUFBWSxDQUF6QjtJQUNmLFVBQVUsRUFBRSxNQUFPLEdBREg7RUFHRixlQUFlLENBQUMsWUFBWSxDQUExQjtJQUNoQixPQUFPLEVBQUUsS0FBTTtJQUNmLE1BQU0sRUFBRSxJQUFLO0lBQ2IsTUFBTSxFQUFFLHFCQUFzQixHQUhiOztBQU9ULFlBQVksYUFBYSxDQUFYO0VBQ3hCLE9BQU8sRUFBRSxJQUFLLEdBRFciLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEJhc2ljIFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCAnc2V0dGluZ3MvX19zZXR0aW5ncy5zY3NzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvYm91cmJvbi9ib3VyYm9uJztcbkBpbXBvcnQgJ3NldHRpbmdzL19ncmlkLnNjc3MnO1xuQGltcG9ydCAndmVuZG9ycy9uZWF0L25lYXQnO1xuQGltcG9ydCBcImxheW91dC9fX21lZGlhLWJyZWFrcG9pbnRzLnNjc3NcIjtcbkBpbXBvcnQgJ2dlbmVyYXRlZC9faWNvbnMuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9fX3V0aWxzLnNjc3MnO1xuQGltcG9ydCAnYmFzZS9fX2Jhc2Uuc2Nzcyc7XG5AaW1wb3J0ICdsYXlvdXQvX19sYXlvdXQuc2Nzcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL19fY29tcG9uZW50cy5zY3NzJztcbkBpbXBvcnQgJ2Jsb2Nrcy9fX2Jsb2Nrcy5zY3NzJztcbkBpbXBvcnQgJ21vZHVsZXMvX19tb2R1bGVzLnNjc3MnO1xuQGltcG9ydCAnbGlicy9fX2xpYnMuc2Nzcyc7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIERPIE5PVCBFRElUIERJUkVDVExZISAgR2VuZXJhdGVkIGJ5IGd1bHBmaWxlLmpzL3Rhc2tzL2ljb25Gb250LmpzIGZyb20gLi9ndWxwZmlsZS5qcy90YXNrcy9pY29uRm9udC90ZW1wbGF0ZS5zY3NzXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogaWNvbnM7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb25zLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29ucy5zdmcjaWNvbnNcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuQG1peGluIGljb24oJGNvbnRlbnQ6IFwiXCIpIHtcbiAgJjpiZWZvcmUge1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY29udGVudDogJGNvbnRlbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbnNcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4uYy1pY29uIHtcbiAgQGluY2x1ZGUgaWNvbjtcbn1cblxuLy8gU2F2ZSB2YXJpYWJsZVxuJGljb24tZmFjZWJvb2s6IFwiXFxFQTAxXCI7XG5cbi8vIFNhdmUgbWl4aW5cbkBtaXhpbiBpY29uLS1mYWNlYm9vayB7XG4gIEBpbmNsdWRlIGljb24oJGljb24tZmFjZWJvb2spIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFeHBvc2UgYXMgY2xhc3Ncbi5jLWljb24uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWZhY2Vib29rO1xufVxuXG4vLyBTYXZlIHZhcmlhYmxlXG4kaWNvbi1pbnN0YWdyYW06IFwiXFxFQTAyXCI7XG5cbi8vIFNhdmUgbWl4aW5cbkBtaXhpbiBpY29uLS1pbnN0YWdyYW0ge1xuICBAaW5jbHVkZSBpY29uKCRpY29uLWluc3RhZ3JhbSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV4cG9zZSBhcyBjbGFzc1xuLmMtaWNvbi4taW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWluc3RhZ3JhbTtcbn1cblxuLy8gU2F2ZSB2YXJpYWJsZVxuJGljb24tdHdpdHRlcjogXCJcXEVBMDNcIjtcblxuLy8gU2F2ZSBtaXhpblxuQG1peGluIGljb24tLXR3aXR0ZXIge1xuICBAaW5jbHVkZSBpY29uKCRpY29uLXR3aXR0ZXIpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFeHBvc2UgYXMgY2xhc3Ncbi5jLWljb24uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogJGljb24tdHdpdHRlcjtcbn1cblxuLy8gU2F2ZSB2YXJpYWJsZVxuJGljb24tYXJyb3ctcmlnaHQ6IFwiXFxFQTA0XCI7XG5cbi8vIFNhdmUgbWl4aW5cbkBtaXhpbiBpY29uLS1hcnJvdy1yaWdodCB7XG4gIEBpbmNsdWRlIGljb24oJGljb24tYXJyb3ctcmlnaHQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBFeHBvc2UgYXMgY2xhc3Ncbi5jLWljb24uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xufVxuXG4vLyBTYXZlIHZhcmlhYmxlXG4kaWNvbi1wbGF5OiBcIlxcRUEwNVwiO1xuXG4vLyBTYXZlIG1peGluXG5AbWl4aW4gaWNvbi0tcGxheSB7XG4gIEBpbmNsdWRlIGljb24oJGljb24tcGxheSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV4cG9zZSBhcyBjbGFzc1xuLmMtaWNvbi4tcGxheTpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1wbGF5O1xufVxuXG4vLyBTYXZlIHZhcmlhYmxlXG4kaWNvbi1wbHVzOiBcIlxcRUEwNlwiO1xuXG4vLyBTYXZlIG1peGluXG5AbWl4aW4gaWNvbi0tcGx1cyB7XG4gIEBpbmNsdWRlIGljb24oJGljb24tcGx1cykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV4cG9zZSBhcyBjbGFzc1xuLmMtaWNvbi4tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1wbHVzO1xufVxuXG4vLyBTYXZlIHZhcmlhYmxlXG4kaWNvbi1jaGV2cm9uOiBcIlxcRUEwN1wiO1xuXG4vLyBTYXZlIG1peGluXG5AbWl4aW4gaWNvbi0tY2hldnJvbiB7XG4gIEBpbmNsdWRlIGljb24oJGljb24tY2hldnJvbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEV4cG9zZSBhcyBjbGFzc1xuLmMtaWNvbi4tY2hldnJvbjpiZWZvcmUge1xuICBjb250ZW50OiAkaWNvbi1jaGV2cm9uO1xufVxuXG5cbiIsIiV2aXN1YWxseS1oaWRkZW4ge1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuJXN0b3J5IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogJGJyZWFrcG9pbnQtbTtcbn1cblxuJW5vLXBhcmFncmFwaC1tYXJnaW4ge1xuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuJWRlZmF1bHQtdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nO1xufVxuXG4lZGVmYXVsdC1vbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gIHBhZGRpbmctbGVmdDogJHNwYWNpbmc7XG59XG5cbiVibGFuay11bCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xufVxuXG4lZGVmYXVsdC1kbCB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICBkdCB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nO1xuICB9XG59XG5cblxuXG4laWNvbi1yZXNldCB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgc3BlYWs6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuIiwiLy8gREVCVUdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRkZWJ1ZyA6IHRydWU7XG5cblxuLy8gRm9udHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJGZvbnQtc2Fucy1zZXJpZiAgICAgIDogXCJOb2UgRGlzcGxheVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2FucyAgICAgICAgICAgIDogXCJCcm93blwiLCBzYW5zO1xuJGZvbnQtc2Fucy1hbHQgICAgICAgIDogXCJCcm93blwiLCBzYW5zO1xuXG4kZm9udC10ZXh0ICAgICAgICAgICAgOiAkZm9udC1zYW5zO1xuJGZvbnQtaGVhZGVyICAgICAgICAgIDogJGZvbnQtc2Fucy1zZXJpZjtcbiRmb250LW5hdiAgICAgICAgICAgICA6ICRmb250LXNhbnM7XG5cbiRmb250LXdlaWdodC1ib2xkICAgICA6IDcwMDtcbiRmb250LXdlaWdodC1ub3JtYWwgICA6IDQwMDtcbiRmb250LXdlaWdodC1saWdodCAgICA6IDIwMDtcblxuLy8gVHJhbnNpdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJHRyYW5zaXRpb24tdGltZSAgICAgICA6IDIwMG1zO1xuJHRyYW5zaXRpb24tdGltZS0tc2xvdyA6IDQwMG1zO1xuJHRyYW5zaXRpb24tdGltaW5nICAgICA6IGVhc2UtaW4tb3V0O1xuXG4vLyBDb2xvcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4kY29sb3ItYmx1ZS1zdG9uZSAgIDogIzBmNGI2MjtcbiRjb2xvci1ibHVlICAgICAgICAgOiAjNjJCMEJGO1xuJGNvbG9yLWVkZW4gICAgICAgICA6ICMxMDRFNjQ7XG4kY29sb3ItYmx1ZS1saWdodCAgIDogIzlFQjlDQjtcbiRjb2xvci1uZXBhbCAgICAgICAgOiAjOTViM2JkO1xuJGNvbG9yLWFzaCAgICAgICAgICA6ICNiZGNhYzc7XG4kY29sb3ItY2VkYXIgICAgICAgIDogIzNDMUMxNjtcbiRjb2xvci1ub2JlbCAgICAgICAgOiAjQjVBQkFCO1xuJGNvbG9yLWRhaW50cmVlICAgICA6ICMwMDIyMzQ7XG4kY29sb3ItZ3JleSAgICAgICAgIDogIzNiM2EzYjtcbiRjb2xvci1ibGFjayAgICAgICAgOiAjMUUyRTNGO1xuJGNvbG9yLXdoaXRlICAgICAgICA6ICNmZmZmZmY7XG4kY29sb3ItbGlnaHQtZ3JleSAgIDogI2ViZWJlYjtcbiRjb2xvci1hbG1vc3Qtd2hpdGUgOiAjZjdmN2Y3O1xuXG4vLyBNYWluIGNvbG9yc1xuJGJvZHktY29sb3IgICAgICAgICA6ICRjb2xvci13aGl0ZTtcbiR0ZXh0LWNvbG9yICAgICAgICAgOiAkY29sb3ItZ3JleTtcbiRwcmltYXJ5LWNvbG9yICAgICAgOiAkY29sb3ItYmx1ZS1zdG9uZTtcblxuJGVycm9yLWNvbG9yICAgICAgICA6ICM5OTJBMzE7XG4kZXJyb3ItYm9yZGVyICAgICAgIDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGVycm9yLWNvbG9yLCAyMCk7XG4kZXJyb3ItYmcgICAgICAgICAgIDogbGlnaHRlbigkZXJyb3ItY29sb3IsIDQwKTtcblxuLy8gVHlwb2dyYXBoeVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kbGluZS1oZWlnaHQgICAgICA6IDEuMztcblxuJHAxLWZvbnQtc2l6ZSAgICAgOiAxOHB4O1xuJHAxLWZvbnQtc2l6ZS0tbSAgOiAyMHB4O1xuJHAxLWZvbnQtc2l6ZS0tbCAgOiAyMnB4O1xuJHAxLWZvbnQtc2l6ZS0teGwgOiAyNHB4O1xuXG4kcDItZm9udC1zaXplICAgICA6IDE1cHg7XG4kcDItZm9udC1zaXplLS1tICA6IDE1cHg7XG4kcDItZm9udC1zaXplLS1sICA6IDE1cHg7XG4kcDItZm9udC1zaXplLS14bCA6IDE3cHg7XG5cbiRwMy1mb250LXNpemUgICAgIDogMTRweDtcbiRwMy1mb250LXNpemUtLW0gIDogMTRweDtcbiRwMy1mb250LXNpemUtLWwgIDogMTRweDtcbiRwMy1mb250LXNpemUtLXhsIDogMTRweDtcblxuJHA0LWZvbnQtc2l6ZSAgICAgOiAxMnB4O1xuJHA0LWZvbnQtc2l6ZS0tbSAgOiAxMnB4O1xuJHA0LWZvbnQtc2l6ZS0tbCAgOiAxM3B4O1xuJHA0LWZvbnQtc2l6ZS0teGwgOiAxM3B4O1xuXG5cblxuJGZvbnQtc2l6ZSAgICAgICAgOiAkcDItZm9udC1zaXplO1xuJGZvbnQtc2l6ZS0tbSAgICAgOiAkcDItZm9udC1zaXplLS1tO1xuJGZvbnQtc2l6ZS0tbCAgICAgOiAkcDItZm9udC1zaXplLS1sO1xuJGZvbnQtc2l6ZS0teGwgICAgOiAkcDItZm9udC1zaXplLS14bDtcblxuXG4kaGVhZGluZy1saW5lLWhlaWdodCA6IDE7XG4kaGVhZGluZy1tYXJnaW4gICAgICA6IC42N2VtIDA7XG4kaGVhZGluZy1mb250LXdlaWdodCA6ICRmb250LXdlaWdodC1ib2xkO1xuXG4kaDEtZm9udC1zaXplICAgICA6IDYwcHg7XG4kaDEtZm9udC1zaXplLS1tICA6IDYwcHg7XG4kaDEtZm9udC1zaXplLS1sICA6IDYwcHg7XG4kaDEtZm9udC1zaXplLS14bCA6IDYwcHg7XG4kaDEtbGluZS1oZWlnaHQgICA6IDEuMTtcblxuJGgyLWZvbnQtc2l6ZSAgICAgOiA0OHB4O1xuJGgyLWZvbnQtc2l6ZS0tbSAgOiA0OHB4O1xuJGgyLWZvbnQtc2l6ZS0tbCAgOiA0OHB4O1xuJGgyLWZvbnQtc2l6ZS0teGwgOiA0OHB4O1xuJGgyLWxpbmUtaGVpZ2h0ICAgOiAxLjE7XG5cbiRoMy1mb250LXNpemUgICAgIDogMTlweDtcbiRoMy1mb250LXNpemUtLW0gIDogMTlweDtcbiRoMy1mb250LXNpemUtLWwgIDogMTlweDtcbiRoMy1mb250LXNpemUtLXhsIDogMTlweDtcbiRoMy1saW5lLWhlaWdodCAgIDogMS4xO1xuXG4kaDQtZm9udC1zaXplICAgICA6IDE4cHg7XG4kaDQtZm9udC1zaXplLS1tICA6IDE4cHg7XG4kaDQtZm9udC1zaXplLS1sICA6IDE4cHg7XG4kaDQtZm9udC1zaXplLS14bCA6IDE4cHg7XG4kaDQtbGluZS1oZWlnaHQgICA6IDEuMTtcblxuJGg1LWZvbnQtc2l6ZSAgICAgOiAxNnB4O1xuJGg1LWZvbnQtc2l6ZS0tbSAgOiAxNnB4O1xuJGg1LWZvbnQtc2l6ZS0tbCAgOiAxNnB4O1xuJGg1LWZvbnQtc2l6ZS0teGwgOiAxNnB4O1xuJGg1LWxpbmUtaGVpZ2h0ICAgOiAxLjE7XG5cbiRoNi1mb250LXNpemUgICAgIDogMTRweDtcbiRoNi1mb250LXNpemUtLW0gIDogMTRweDtcbiRoNi1mb250LXNpemUtLWwgIDogMTRweDtcbiRoNi1mb250LXNpemUtLXhsIDogMTRweDtcbiRoNi1saW5lLWhlaWdodCAgIDogMS4xO1xuXG4vLyBMaW5rc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBMaW5rcyBjb2xvcnNcbiRsaW5rLWNvbG9yICAgICAgICAgICAgICAgICAgICA6ICRjb2xvci1ibHVlO1xuJGxpbmstY29sb3ItLWhvdmVyICAgICAgICAgICAgIDogJGNvbG9yLWRhaW50cmVlO1xuJGxpbmstY29sb3ItLWFjdGl2ZSAgICAgICAgICAgIDogbGlnaHRlbigkY29sb3ItZGFpbnRyZWUsIDE1KTtcbiRsaW5rLWRlY29yYXRpb24gICAgICAgICAgICAgICA6IG5vbmU7XG5cbiRsaW5rLWNvbG9yLS1wcmltYXJ5ICAgICAgICAgICA6ICRwcmltYXJ5LWNvbG9yO1xuJGxpbmstY29sb3ItLXByaW1hcnktLWhvdmVyICAgIDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAxMCk7XG4kbGluay1jb2xvci0tcHJpbWFyeS0tYWN0aXZlICAgOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDIwKTtcbiRsaW5rLWRlY29yYXRpb24tLXByaW1hcnkgICAgICA6IHVuZGVybGluZTtcblxuJGxpbmstY29sb3ItLXNlY29uZGFyeSAgICAgICAgIDogJGNvbG9yLWdyZXk7XG4kbGluay1jb2xvci0tc2Vjb25kYXJ5LS1ob3ZlciAgOiBkYXJrZW4oJGNvbG9yLWdyZXksIDEwKTtcbiRsaW5rLWNvbG9yLS1zZWNvbmRhcnktLWFjdGl2ZSA6IGRhcmtlbigkY29sb3ItZ3JleSwgMjApO1xuJGxpbmstZGVjb3JhdGlvbi0tc2Vjb25kYXJ5ICAgIDogdW5kZXJsaW5lO1xuXG4vLyBCbG9ja3MgU2l6ZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJHNwYWNpbmctM3hzIDogM3B4O1xuJHNwYWNpbmcteHhzIDogNXB4O1xuJHNwYWNpbmcteHMgIDogMTBweDtcbiRzcGFjaW5nLXMgICA6IDEzcHg7XG4kc3BhY2luZyAgICAgOiAxNXB4O1xuJHNwYWNpbmctbCAgIDogMjFweDtcbiRzcGFjaW5nLXhsICA6IDMwcHg7XG4kc3BhY2luZy14eGwgOiA0NXB4O1xuJHNwYWNpbmctM3hsIDogNjBweDtcbiRzcGFjaW5nLTR4bCA6IDkwcHg7XG5cblxuLy8gQm9yZGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kYm9yZGVyLXNpemUgICAgICAgIDogMXB4O1xuJGJvcmRlci1zaXplLS10aGljayA6IDhweDtcbiRib3JkZXItc2l6ZS0tdGhpbiAgOiAzcHg7XG4kYm9yZGVyLXN0eWxlICAgICAgIDogc29saWQ7XG4kYm9yZGVyLWNvbG9yICAgICAgIDogJGNvbG9yLWdyZXk7XG4kYm9yZGVyLWNvbG9yLS1kYXJrIDogJGNvbG9yLWdyZXk7XG5cbi8vIEZvcm1zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRmb3JtLXRleHQtY29sb3IgICAgICAgICAgICAgICA6ICR0ZXh0LWNvbG9yO1xuJGZvcm0tdGV4dC1wbGFjZWhvbGRlci1jb2xvciAgIDogJHRleHQtY29sb3I7XG4kZm9ybS10ZXh0LWJnICAgICAgICAgICAgICAgICAgOiAkY29sb3Itd2hpdGU7XG4kZm9ybS10ZXh0LWJvcmRlciAgICAgICAgICAgICAgOiAkYm9yZGVyLXNpemUgJGJvcmRlci1zdHlsZSAkYm9yZGVyLWNvbG9yLS1kYXJrO1xuJGZvcm0tdGV4dC10cmFuc2l0aW9uICAgICAgICAgIDogYWxsIC4zcyBlYXNlLWluLW91dDtcblxuJGZvcm0tdGV4dC1mb250LXNpemUgICAgICAgICAgIDogMTRweDtcbiRmb3JtLXRleHQtZm9udC1zaXplLS1sICAgICAgICA6IDE2cHg7XG5cbiRmb3JtLXRleHQtZm9udC1zaXplLS1sYXJnZSAgICA6IDE2cHg7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZS0tbGFyZ2UtLWwgOiAyMHB4O1xuXG4kZm9ybS10ZXh0LWZvbnQtc2l6ZS0tc21hbGwgICAgOiAxMnB4O1xuJGZvcm0tdGV4dC1mb250LXNpemUtLXNtYWxsLS1sIDogMTRweDtcblxuJGZvcm0tdGV4dC1oZWlnaHQgICAgICAgICAgICAgIDogMzJweDtcbiRmb3JtLXRleHQtaGVpZ2h0LS1sICAgICAgICAgICA6IDQwcHg7XG5cbiRmb3JtLXRleHQtaGVpZ2h0LS1sYXJnZSAgICAgICA6IDQycHg7XG4kZm9ybS10ZXh0LWhlaWdodC0tbGFyZ2UtLWwgICAgOiA2MHB4O1xuXG4kZm9ybS10ZXh0LWhlaWdodC0tc21hbGwgICAgICAgOiAyNHB4O1xuJGZvcm0tdGV4dC1oZWlnaHQtLXNtYWxsLS1sICAgIDogMzBweDtcblxuJGZvcm0tdGV4dC13aWR0aC0tc2hvcnQgICAgICAgIDogMTAwcHg7XG4kZm9ybS10ZXh0LXdpZHRoLS1sb25nICAgICAgICAgOiAzMDBweDtcbiRmb3JtLXRleHQtd2lkdGgtLWZ1bGwgICAgICAgICA6IDEwMCU7XG5cbiRmb3JtLXRleHRhcmVhLWhlaWdodCAgICAgICAgICA6IDkwcHg7XG4kZm9ybS10ZXh0YXJlYS1oZWlnaHQtLWwgICAgICAgOiAxMjBweDtcblxuLy8gUmFkaXVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRyYWRpdXMtc2l6ZSAgICAgICA6IDZweDtcbiRyYWRpdXMtc2l6ZS0tZnVsbCA6IDEwMDBweDtcblxuLy8gQnJlYWtwb2ludHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRicmVha3BvaW50LW1pbiAgICAgOiAzMjBweDtcbiRicmVha3BvaW50LXhzICAgICAgOiA2NDBweDtcbiRicmVha3BvaW50LXMgICAgICAgOiA3NjhweDtcbiRicmVha3BvaW50LW0gICAgICAgOiA5NjBweDtcbiRicmVha3BvaW50LWwgICAgICAgOiAxMDI0cHg7XG4kYnJlYWtwb2ludC14bCAgICAgIDogMTQ0MHB4O1xuXG4kYnJlYWtwb2ludC1taW4tbWF4IDogKCRicmVha3BvaW50LXhzIC0gMSk7XG4kYnJlYWtwb2ludC14cy1tYXggIDogKCRicmVha3BvaW50LXMgLSAxKTtcbiRicmVha3BvaW50LXMtbWF4ICAgOiAoJGJyZWFrcG9pbnQtbSAtIDEpO1xuJGJyZWFrcG9pbnQtbS1tYXggICA6ICgkYnJlYWtwb2ludC1sIC0gMSk7XG4kYnJlYWtwb2ludC1sLW1heCAgIDogKCRicmVha3BvaW50LXhsIC0gMSk7XG5cbi8vIFV0aWxpdHkgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiR1dGlsaXR5LXNlcGFyYXRvci1zaXplczogKFxuICB4cyA6ICRzcGFjaW5nLXhzLFxuICBzICA6ICRzcGFjaW5nLXMsXG4gIG0gIDogJHNwYWNpbmcsXG4gIGwgIDogJHNwYWNpbmctbCxcbiAgeGwgOiAkc3BhY2luZy14bFxuKTtcblxuLy8gWi1JbmRleCBNYW5hZ2VtZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiR6LWxheWVyczogKFxuICBcImZpeGVkXCIgICA6IDk5OSxcbiAgXCJoZWFkZXJcIiAgOiA4MDAsXG4gIFwibGF5ZXJcIiAgIDogNTAsXG4gIFwiYWJvdmVcIiAgIDogNSxcbiAgXCJkZWZhdWx0XCIgOiAxLFxuICBcImJlbG93XCIgICA6IC0xLFxuKTtcbiIsIiVsaW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3ItLWhvdmVyO1xuICB9XG4gIEBpbmNsdWRlIGFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yLS1hY3RpdmU7XG4gIH1cbn1cbiVsaW5rLXByaW1hcnkge1xuICBjb2xvcjogJGxpbmstY29sb3ItLXByaW1hcnk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbi0tcHJpbWFyeTtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1jb2xvci0tcHJpbWFyeS0taG92ZXI7XG4gIH1cbiAgQGluY2x1ZGUgYWN0aXZlIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3ItLXByaW1hcnktLWFjdGl2ZTtcbiAgfVxufVxuJWxpbmstc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yLS1zZWNvbmRhcnk7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbi0tc2Vjb25kYXJ5O1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yLS1zZWNvbmRhcnktLWhvdmVyO1xuICB9XG4gIEBpbmNsdWRlIGFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yLS1zZWNvbmRhcnktLWFjdGl2ZTtcbiAgfVxufVxuXG5cbiVidXR0b24tcmVzZXQge1xuICB0ZXh0LWFsaWduICAgICAgOiBjZW50ZXI7XG4gIHRleHQtcmVuZGVyaW5nICA6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwIDogcGFkZGluZy1ib3g7XG4gIGN1cnNvciAgICAgICAgICA6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0ICAgICA6IG5vbmU7XG4gIHdoaXRlLXNwYWNlICAgICA6IG5vd3JhcDtcbiAgcG9zaXRpb24gICAgICAgIDogcmVsYXRpdmU7XG4gIGRpc3BsYXkgICAgICAgICA6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ24gIDogbWlkZGxlO1xuICBvdXRsaW5lICAgICAgICAgOiBub25lO1xufVxuXG5cbiIsIkBtaXhpbiBycmVtKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuICAkcHggOiAoKTtcbiAgJHJlbTogKCk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuXG4gICAgQGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIHtcbiAgICAgICRweCA6IGFwcGVuZCgkcHggLCAkdmFsdWUpO1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sICR2YWx1ZSk7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcbiAgICAgICR2YWw6IHBhcnNlLWludCgkdmFsdWUpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcbiAgICAgICAgJHB4IDogYXBwZW5kKCRweCwgICR2YWx1ZSk7XG4gICAgICAgICRyZW06IGFwcGVuZCgkcmVtLCAoJHZhbCAvIDEwICsgcmVtKSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICAgJHB4IDogYXBwZW5kKCRweCwgICgkdmFsICogMTAgKyBweCkpO1xuICAgICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHB4ID09ICRyZW0ge1xuICAgICN7JHByb3BlcnR5fTogJHB4O1xuICB9IEBlbHNlIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweDtcbiAgICAjeyRwcm9wZXJ0eX06ICRyZW07XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbm9icmVhayB7XG4gIGNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG5AbWl4aW4gZm9udC1zaXplKCRzaXplKSB7XG4gIEBpbmNsdWRlIHJyZW0oZm9udC1zaXplLCAkc2l6ZSk7XG59XG5cbkBtaXhpbiBmb250LXNtb290aGluZyB7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbkBtaXhpbiBsZXR0ZXJwcmVzcygkb3BhY2l0eTogLjUpIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gYm94LWVtYm9zcygkb3BhY2l0eSwgJG9wYWNpdHkyKXtcbiAgYm94LXNoYWRvdzp3aGl0ZSgkb3BhY2l0eSkgMCAxcHggMCwgaW5zZXQgYmxhY2soJG9wYWNpdHkyKSAwIDFweCAwO1xufVxuXG5AbWl4aW4gYmctY292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gZGVzYXR1cmF0ZSB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xufVxuXG5AbWl4aW4gc2F0dXJhdGUge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0ICgkc2VsZWN0KSB7XG4gIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gbm8tdG91Y2goKSB7XG4gIC5uby10b3VjaGV2ZW50cyAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHRvdWNoKCkge1xuICAudG91Y2hldmVudHMgJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyKCkge1xuICAubm8tdG91Y2hldmVudHMgJiB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBhY3RpdmUoKSB7XG4gIC5uby10b3VjaGV2ZW50cyAmIHtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBmb2N1cygpIHtcbiAgLm5vLXRvdWNoZXZlbnRzICYge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIlcDEtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRwMS1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJHAxLWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkcDEtZm9udC1zaXplLS1sLFxuICAgICAgICB4bCA6ICRwMS1mb250LXNpemUtLXhsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiVwMi1zaXplIHtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgJHAyLWZvbnQtc2l6ZSxcbiAgICAgIChcbiAgICAgICAgbSAgOiAkcDItZm9udC1zaXplLS1tLFxuICAgICAgICBsICA6ICRwMi1mb250LXNpemUtLWwsXG4gICAgICAgIHhsIDogJHAyLWZvbnQtc2l6ZS0teGxcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJXAzLXNpemUge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAkcDMtZm9udC1zaXplLFxuICAgICAgKFxuICAgICAgICBtICA6ICRwMy1mb250LXNpemUtLW0sXG4gICAgICAgIGwgIDogJHAzLWZvbnQtc2l6ZS0tbCxcbiAgICAgICAgeGwgOiAkcDMtZm9udC1zaXplLS14bFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lcDQtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRwNC1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJHA0LWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkcDQtZm9udC1zaXplLS1sLFxuICAgICAgICB4bCA6ICRwNC1mb250LXNpemUtLXhsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuXG5cbiV0ZXh0LS1kZWZhdWx0IHtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgQGV4dGVuZCAlcDItc2l6ZTtcbn1cbiV0ZXh0LS1kZWZhdWx0LWxpZ2h0IHtcbiAgQGV4dGVuZCAldGV4dC0tZGVmYXVsdDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbn1cblxuXG4ldGV4dC0tcHJpbWFyeSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIEBleHRlbmQgJXAyLXNpemU7XG59XG4ldGV4dC0tcHJpbWFyeS1saWdodCB7XG4gIEBleHRlbmQgJXRleHQtLXByaW1hcnk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG59XG5cblxuXG4ldGV4dC0tc3VtbWFyeSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIEBleHRlbmQgJXAxLXNpemU7XG59XG5cbiVzZWN0aW9uLXRpdGxlLS1kZWZhdWx0IHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgQGV4dGVuZCAlaDMtc2l6ZTtcbn1cblxuIiwiXG4vLy8gUmVuZGVyIFByb3BlcnRpZXMgQnkgTWVkaWEgUXVlcmllc1xuLy8vXG4vLy8gQGF1dGhvciBFdWdlbiBGaWd1cnNreVxuLy8vIEB1c2VzIG1hcC1kZWVwLXNldFxuLy8vIEB1c2VzIG1hcC1kZWVwLWdldFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXBcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRrZXlzIC0gS2V5IGNoYWluXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIG1hcmdpbjogKFxuLy8vICAgXCIjeyRzcGFjaW5nfSAwXCJcbi8vLyApLFxuLy8vIHBhZGRpbmctbGVmdDogKFxuLy8vICAgJHNwYWNpbmctcyxcbi8vLyAgIChcbi8vLyAgICAgczogJHNwYWNpbmcsXG4vLy8gICAgIG06ICRzcGFjaW5nLWxcbi8vLyAgIClcbi8vLyApLFxuLy8vIHBhZGRpbmctcmlnaHQ6IChcbi8vLyAgICRzcGFjaW5nLFxuLy8vICAgKFxuLy8vICAgICBzOiAkc3BhY2luZyxcbi8vLyAgICAgbTogJHNwYWNpbmctbFxuLy8vICAgKVxuLy8vIClcbkBtaXhpbiByZW5kZXItcHJvcGVydGllcygkcHJvcGVydGllcykge1xuXG4gIC8vIGNyZWF0ZSBlbXB0eSBtYXBcbiAgJHZhbHVlcy1ieS1tZWRpYTogKCk7XG5cbiAgLy8gaXRlcmF0ZSB0aHJvdWdoIHRoZSBwcm9wZXJ0aWVzXG4gIEBlYWNoICRwcm9wZXJ0eSwgJHByb3BlcnR5VmFsdWVzIGluICRwcm9wZXJ0aWVzIHtcblxuICAgIC8vIHNldCB2YWx1ZXMgZGVmYXVsdCB2YWx1ZVxuICAgICR2YWx1ZXMgIDogZmFsc2U7XG5cbiAgICAvLyBncmFiIHByb3BlcnR5IHZhbHVlcyBmcm9tIGEgbGlzdFxuICAgICRkZWZhdWx0IDogbnRoKCRwcm9wZXJ0eVZhbHVlcywgMSk7XG5cbiAgICBAaWYgKGxlbmd0aCgkcHJvcGVydHlWYWx1ZXMpID4gMSkge1xuICAgICAgJHZhbHVlcyAgOiBudGgoJHByb3BlcnR5VmFsdWVzLCAyKTtcbiAgICB9XG5cbiAgICAvLyB3ZSBjYW4gcmVuZGVyIHRoZSBkZWZhdWx0IHZhbHVlXG4gICAgLy8gcmlnaHQgYXdheSBiZWNhdXNlIGl0IGRvZXNuJ3QgcmVxdWlyZSBhbnkgbWVkaWFcbiAgICBAaWYgKCRkZWZhdWx0KSB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICN7JGRlZmF1bHR9O1xuICAgIH1cblxuICAgIEBpZiAoJHZhbHVlcykge1xuICAgICAgLy8gaXRlcmF0ZSB0aHJvdWdoIGJyZWFrcG9pbnRzIGFuZCBwcm9wZXJ0eSB2YWx1ZXNcbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAgIEBpZiAoIG1hcC1oYXMta2V5KCR2YWx1ZXMtYnktbWVkaWEsICRicmVha3BvaW50KSA9PSBmYWxzZSApIHtcbiAgICAgICAgICAkdmFsdWVzLWJ5LW1lZGlhOiBtYXAtbWVyZ2UoJHZhbHVlcy1ieS1tZWRpYSwgKCRicmVha3BvaW50OiAoICRwcm9wZXJ0eTogJHZhbHVlICkpKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgJHZhbHVlcy1ieS1tZWRpYTogbWFwLWRlZXAtc2V0KCR2YWx1ZXMtYnktbWVkaWEsICRicmVha3BvaW50ICRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGl0ZXJhdGUgdGhyb3VnaCB2YWx1ZXMgLyBicmVha3BvaW50cyBhbmQgZmluYWxseSByZW5kZXIgdGhlIHByb3BlcnRpZXMuXG4gIEBlYWNoICRtZWRpYS1icmVha3BvaW50LCAkbWVkaWEtdmFsdWVzIGluICR2YWx1ZXMtYnktbWVkaWEge1xuICAgICRtZWRpYSA6IG1hcC1nZXQoJG1lZGlhLWJyZWFrcG9pbnRzLCAkbWVkaWEtYnJlYWtwb2ludCk7XG4gICAgQGlmICRtZWRpYSB7XG4gICAgICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcy12YWx1ZXMoJG1lZGlhLXZhbHVlcywgJG1lZGlhKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiTWVkaWEgYG1lZGlhLSN7JG1lZGlhLWJyZWFrcG9pbnR9YCBkb2VzIG5vdCBleGlzdHMuIFBsZWFzZSBhZGQgdGhlIG1lZGlhIG9yIGNoYW5nZSBpdCB0byBleGlzdGluZyBvbmUuXCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByZW5kZXItcHJvcGVydHkoJHByb3BlcnR5LCAkZGVmYXVsdCwgJHZhbHVlcyA6ICgpKSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAkcHJvcGVydHk6ICgkZGVmYXVsdCwgJHZhbHVlcylcbiAgKSk7XG59XG5cbkBtaXhpbiByZW5kZXItcHJvcGVydGllcy12YWx1ZXMoJHZhbHVlcywgJG1lZGlhIDogbnVsbCkge1xuICBAaWYgKCRtZWRpYSkge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpYSkge1xuICAgICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIERlZXAgc2V0IGZ1bmN0aW9uIHRvIHNldCBhIHZhbHVlIGluIG5lc3RlZCBtYXBzXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcFxuLy8vIEBwYXJhbSB7TGlzdH0gJGtleXMgLSAgS2V5IGNoYWluZVxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gYXNzaWduXG4vLy8gQHJldHVybiB7TWFwfVxuQGZ1bmN0aW9uIG1hcC1kZWVwLXNldCgkbWFwLCAka2V5cywgJHZhbHVlKSB7XG4gICRtYXBzOiAoJG1hcCwpO1xuICAkcmVzdWx0OiBudWxsO1xuXG4gIC8vIElmIHRoZSBsYXN0IGtleSBpcyBhIG1hcCBhbHJlYWR5XG4gIC8vIFdhcm4gdGhlIHVzZXIgd2Ugd2lsbCBiZSBvdmVycmlkaW5nIGl0IHdpdGggJHZhbHVlXG4gIEBpZiB0eXBlLW9mKG50aCgka2V5cywgLTEpKSA9PSBcIm1hcFwiIHtcbiAgICBAd2FybiBcIlRoZSBsYXN0IGtleSB5b3Ugc3BlY2lmaWVkIGlzIGEgbWFwOyBpdCB3aWxsIGJlIG92ZXJyaWRlZCB3aXRoIGAjeyR2YWx1ZX1gLlwiO1xuICB9XG5cbiAgLy8gSWYgJGtleXMgaXMgYSBzaW5nbGUga2V5XG4gIC8vIEp1c3QgbWVyZ2UgYW5kIHJldHVyblxuICBAaWYgbGVuZ3RoKCRrZXlzKSA9PSAxIHtcbiAgICBAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAoJGtleXM6ICR2YWx1ZSkpO1xuICB9XG5cbiAgLy8gTG9vcCBmcm9tIHRoZSBmaXJzdCB0byB0aGUgc2Vjb25kIHRvIGxhc3Qga2V5IGZyb20gJGtleXNcbiAgLy8gU3RvcmUgdGhlIGFzc29jaWF0ZWQgbWFwIHRvIHRoaXMga2V5IGluIHRoZSAkbWFwcyBsaXN0XG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgdGhyb3cgYW4gZXJyb3JcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGtleXMpIC0gMSB7XG4gICAgJGN1cnJlbnQta2V5OiBudGgoJGtleXMsICRpKTtcbiAgICAkY3VycmVudC1tYXA6IG50aCgkbWFwcywgLTEpO1xuICAgICRjdXJyZW50LWdldDogbWFwLWdldCgkY3VycmVudC1tYXAsICRjdXJyZW50LWtleSk7XG4gICAgQGlmICRjdXJyZW50LWdldCA9PSBudWxsIHtcbiAgICAgIEB3YXJuIFwiS2V5IGAjeyRjdXJyZW50LWtleX1gIGRvZXNuJ3QgZXhpc3QgYXQgY3VycmVudCBsZXZlbCBpbiBtYXAuXCI7XG4gICAgfVxuICAgICRtYXBzOiBhcHBlbmQoJG1hcHMsICRjdXJyZW50LWdldCk7XG4gIH1cblxuICAvLyBMb29wIGZyb20gdGhlIGxhc3QgbWFwIHRvIHRoZSBmaXJzdCBvbmVcbiAgLy8gTWVyZ2UgaXQgd2l0aCB0aGUgcHJldmlvdXMgb25lXG4gIEBmb3IgJGkgZnJvbSBsZW5ndGgoJG1hcHMpIHRocm91Z2ggMSB7XG4gICAgJGN1cnJlbnQtbWFwOiBudGgoJG1hcHMsICRpKTtcbiAgICAkY3VycmVudC1rZXk6IG50aCgka2V5cywgJGkpO1xuICAgICRjdXJyZW50LXZhbDogaWYoJGkgPT0gbGVuZ3RoKCRtYXBzKSwgJHZhbHVlLCAkcmVzdWx0KTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGN1cnJlbnQtbWFwLCAoJGN1cnJlbnQta2V5OiAkY3VycmVudC12YWwpKTtcbiAgfVxuXG4gIC8vIFJldHVybiByZXN1bHRcbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gTWFwIGRlZXAgZ2V0XG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcFxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGtleXMgLSBLZXkgY2hhaW5cbi8vLyBAcmV0dXJuIHsqfSAtIERlc2lyZWQgdmFsdWVcbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQHJldHVybiAkbWFwO1xufVxuXG5cblxuLy8vIFJlbmRlciB0aGUgYXR0cmlidXRlc1xuQG1peGluIHJlbmRlci1hdHRyaWJ1dGVzKCRhdHRyaWJ1dGVzKSB7XG4gIEBlYWNoICR2YXJpYXRpb24sICRkZWNsYXJhdGlvbnMgaW4gJGF0dHJpYnV0ZXMge1xuICAgIEBpZiAoJHZhcmlhdGlvbiA9PSBkZWZhdWx0KSB7XG4gICAgICBAaW5jbHVkZSByZW5kZXItZGVjbGFyYXRpb25zKCRkZWNsYXJhdGlvbnMpO1xuICAgIH0gQGVsc2VpZiAoJHZhcmlhdGlvbiA9PSBfXykge1xuICAgICAgQGluY2x1ZGUgcmVuZGVyLWVsZW1lbnRzKCRkZWNsYXJhdGlvbnMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJi0tI3skdmFyaWF0aW9ufSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbmRlci1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW5kZXIgYXR0cmlidXRlIGRlY2xhcmF0aW9uc1xuQG1peGluIHJlbmRlci1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucykge1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZGVjbGFyYXRpb25zIHtcbiAgICAkaXMtaGVscGVyICA6IHN0ci1pbmRleChcIiN7JHByb3BlcnR5fVwiLCAnLScpID09IDE7XG4gICAgQGlmICgkaXMtaGVscGVyKSB7XG4gICAgICBAaW5jbHVkZSByZW5kZXItaGVscGVycygkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgfSBAZWxzZWlmICgkcHJvcGVydHkgPT0gZXh0ZW5kcykge1xuICAgICAgQGluY2x1ZGUgcmVuZGVyLWV4dGVuZHMoJHByb3BlcnR5LCAkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgI3skcHJvcGVydHl9OiAjeyR2YWx1ZX07XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW5kZXIgaGVscGVyc1xuQG1peGluIHJlbmRlci1oZWxwZXJzKCRoZWxwZXIsICRkZWNsYXJhdGlvbnMpIHtcbiAgQGlmICRoZWxwZXIgPT0gLXBzZXVkbyB7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXBzZXVkby1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gIH1cblxuICBAaWYgJGhlbHBlciA9PSAtbWVkaWEge1xuICAgIEBpbmNsdWRlIHJlbmRlci1tZWRpYS1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gIH1cblxuICBAaWYgJGhlbHBlciA9PSAtc3RhdGUge1xuICAgIEBpbmNsdWRlIHJlbmRlci1zdGF0ZS1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gIH1cbn1cblxuLy8vIFJlbmRlciBwc2V1ZG8gY2xhc3Nlc1xuQG1peGluIHJlbmRlci1wc2V1ZG8tZGVjbGFyYXRpb25zKCRwc2V1ZG8tZGVjbGFyYXRpb25zKSB7XG4gIEBlYWNoICRwc2V1ZG8sICRkZWNsYXJhdGlvbnMgaW4gJHBzZXVkby1kZWNsYXJhdGlvbnMge1xuICAgIEBpZiAkcHNldWRvID09IGFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBhY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSByZW5kZXItZGVjbGFyYXRpb25zKCRkZWNsYXJhdGlvbnMpO1xuICAgICAgfVxuICAgIH0gQGVsc2VpZiAkcHNldWRvID09IGhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcmVuZGVyLWRlY2xhcmF0aW9ucygkZGVjbGFyYXRpb25zKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlaWYgJHBzZXVkbyA9PSBmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJlbmRlci1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKCRwc2V1ZG8gPT0gYmVmb3JlLWFmdGVyKSB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSByZW5kZXItZGVjbGFyYXRpb25zKCRkZWNsYXJhdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjojeyRwc2V1ZG99IHtcbiAgICAgICAgICBAaW5jbHVkZSByZW5kZXItZGVjbGFyYXRpb25zKCRkZWNsYXJhdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW5kZXIgbWVkaWFcbkBtaXhpbiByZW5kZXItbWVkaWEtZGVjbGFyYXRpb25zKCRtZWRpYS1kZWNsYXJhdGlvbnMpIHtcbiAgQGVhY2ggJG1lZGlhLCAkZGVjbGFyYXRpb25zIGluICRtZWRpYS1kZWNsYXJhdGlvbnMge1xuXG4gICAgQGlmIHZhcmlhYmxlLWV4aXN0cyhtZWRpYS0jeyRtZWRpYX0pIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKG1hcC1nZXQoJG1lZGlhLWJyZWFrcG9pbnRzLCAkbWVkaWEpKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbmRlci1kZWNsYXJhdGlvbnMoJGRlY2xhcmF0aW9ucyk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcIk1lZGlhIGBtZWRpYS0jeyRtZWRpYX1gIGRvZXMgbm90IGV4aXN0cy4gUGxlYXNlIGFkZCB0aGUgbWVkaWEgb3IgY2hhbmdlIGl0IHRvIGV4aXN0aW5nIG9uZS5cIjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbmRlciBzdGF0ZXMgYXR0cmlidXRlc1xuQG1peGluIHJlbmRlci1zdGF0ZS1kZWNsYXJhdGlvbnMoJHN0YXRlLWRlY2xhcmF0aW9ucykge1xuICBAZWFjaCAkc3RhdGUsICRkZWNsYXJhdGlvbnMgaW4gJHN0YXRlLWRlY2xhcmF0aW9ucyB7XG4gICAgLy8gYWRkIGFiaWxpdHkgdG8gYWRkIG1vcmUgdGhhbiBvbmUgc2VsZWN0b3IgdG8gdGhlIHN0YXRlIGRlY2xhcmF0aW9uXG4gICAgLy8gZGVmYXVsdCBzdGF0ZSB3b3VsZCBiZSAuaXMtOnN0YXRlXG4gICAgLy8gRXhhbXBsZTogaXMtZGlzYWJsZWQsIGlzLWFjdGl2ZVxuICAgICRzZWxlY3RvciA6IG1hcC1nZXQoJGRlY2xhcmF0aW9ucywgLXNlbGVjdG9yKTtcbiAgICBAaWYgKCRzZWxlY3Rvcikge1xuICAgICAgJHNlbGVjdG9yIDogc3RyLXJlcGxhY2UoJHNlbGVjdG9yLCAnOnN0YXRlJywgJHN0YXRlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzZWxlY3RvciA6IFwiJi5pcy0jeyRzdGF0ZX1cIjtcbiAgICB9XG5cbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGluY2x1ZGUgcmVuZGVyLWRlY2xhcmF0aW9ucygkZGVjbGFyYXRpb25zKTtcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gcmVuZGVyLWVsZW1lbnRzKCRlbGVtZW50cykge1xuICBAZWFjaCAkZWxlbWVudCwgJGRlY2xhcmF0aW9ucyBpbiAkZWxlbWVudHMge1xuICAgICZfXyN7JGVsZW1lbnR9IHtcbiAgICAgIEBpbmNsdWRlIHJlbmRlci1hdHRyaWJ1dGVzKCRkZWNsYXJhdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiByZW5kZXItZXh0ZW5kcygkcHJvcGVydHksICRleHRlbmRzKSB7XG4gIEBleHRlbmQgJSN7JGV4dGVuZHN9O1xufVxuXG5cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zIFskZ3JpZC1jb2x1bW5zXVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCIlZmxleC1jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4lc3BhY2luZyB7XG4gIHBhZGRpbmc6IDAgZmxleC1ndXR0ZXIoKTtcbiAgLy8gQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAvLyAgIHBhZGRpbmctbGVmdDogKFxuICAvLyAgICAgMTVweCxcbiAgLy8gICAgIChcbiAgLy8gICAgICAgeHM6IDE1cHgsXG4gIC8vICAgICAgIHM6IDE1cHgsXG4gIC8vICAgICAgIG06IDE1cHhcbiAgLy8gICAgIClcbiAgLy8gICApLFxuICAvLyAgIHBhZGRpbmctcmlnaHQ6IChcbiAgLy8gICAgIDE1cHgsXG4gIC8vICAgICAoXG4gIC8vICAgICAgIHhzOiAxNXB4LFxuICAvLyAgICAgICBzOiAxNXB4LFxuICAvLyAgICAgICBtOiAxNXB4XG4gIC8vICAgICApXG4gIC8vICAgKVxuICAvLyApKVxufVxuXG4lbm8tc3BhY2luZyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4lY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuJWNvbnRhaW5lci0tZnVsbCB7XG4gIEBleHRlbmQgJWNvbnRhaW5lcjtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIiRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdDtcbiRmZy1jb2x1bW46ICRjb2x1bW47XG4kZmctZ3V0dGVyOiAkZ3V0dGVyO1xuJGZnLW1heC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZGVmYXVsdDtcbiRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zKSB7XG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCR3aWR0aCAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xufVxuXG5AZnVuY3Rpb24gZ2V0LXBhcmVudC1jb2x1bW5zKCRjb2x1bW5zKSB7XG4gIEBpZiAkY29sdW1ucyAhPSAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRjb2x1bW5zICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpIHtcbiAgQHJldHVybiAkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUgPT0gdHJ1ZSBvciAkZGlzcGxheSA9PSB0YWJsZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudHJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIFt1bml0XX0gJGxvY2FsLW1heC13aWR0aCBbJG1heC13aWR0aF1cbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiXG4laDEtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoMS1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGgxLWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDEtZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoMS1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDEtbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuXG4laDItc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoMi1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGgyLWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDItZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoMi1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDItbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuXG4laDMtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoMy1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGgzLWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDMtZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoMy1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDMtbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuXG4laDQtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoNC1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGg0LWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDQtZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoNC1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDQtbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuXG4laDUtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoNS1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGg1LWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDUtZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoNS1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDUtbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuXG4laDYtc2l6ZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgICRoNi1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gIDogJGg2LWZvbnQtc2l6ZS0tbSxcbiAgICAgICAgbCAgOiAkaDYtZm9udC1zaXplLS1tLFxuICAgICAgICB4bCA6ICRoNi1mb250LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAkaDYtbGluZS1oZWlnaHRcbiAgICApXG4gICkpO1xufVxuIiwiJWhlcm8tbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuICAmLm5vLW92ZXJsYXAge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDclO1xuICAgIH1cbiAgfVxufVxuXG4laGVyby1jb250YWluZXIge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIHdpZHRoOjEwMCU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG59XG5cbiVoZXJvLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHooJ2Fib3ZlJyk7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbSkge1xuXG4gIH1cbn1cblxuXG4laGVyby1hcnJvdyB7XG5cbiAgJGFycm93LXNpemUgICAgICAgICA6IDQwcHg7XG4gICRhcnJvdy1zaXplLS1sICAgICAgOiA2MHB4O1xuICAkYXJyb3ctZm9udC1zaXplICAgIDogMTVweDtcbiAgJGFycm93LWZvbnQtc2l6ZS0tbCA6IDIxcHg7XG5cbiAgQGluY2x1ZGUgaWNvbi0tYXJyb3ctcmlnaHQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIG1hcmdpbjogJHNwYWNpbmcteHhsIGF1dG8gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiB6KCdhYm92ZScpO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgd2lkdGg6IChcbiAgICAgICRhcnJvdy1zaXplLFxuICAgICAgKFxuICAgICAgICBzIDogJGFycm93LXNpemUtLWxcbiAgICAgIClcbiAgICApLFxuICAgIGhlaWdodDogKFxuICAgICAgJGFycm93LXNpemUsXG4gICAgICAoXG4gICAgICAgIHMgOiAkYXJyb3ctc2l6ZS0tbFxuICAgICAgKVxuICAgICksXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAkYXJyb3ctZm9udC1zaXplLFxuICAgICAgKFxuICAgICAgICBzIDogJGFycm93LWZvbnQtc2l6ZS0tbFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgd2lkdGg6IChcbiAgICAgICAgJGFycm93LXNpemUsXG4gICAgICAgIChcbiAgICAgICAgICBzIDogJGFycm93LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGhlaWdodDogKFxuICAgICAgICAkYXJyb3ctc2l6ZSxcbiAgICAgICAgKFxuICAgICAgICAgIHMgOiAkYXJyb3ctc2l6ZS0tbFxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbGluZS1oZWlnaHQ6IChcbiAgICAgICAgJGFycm93LXNpemUsXG4gICAgICAgIChcbiAgICAgICAgICBzIDogJGFycm93LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAkYXJyb3ctZm9udC1zaXplLFxuICAgICAgICAoXG4gICAgICAgICAgcyA6ICRhcnJvdy1mb250LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kYXJyb3ctc2l6ZS0tbCAvIDI7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgb3BhY2l0eTogMDtcbiAgLm5vLWpzICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLmFuaW1hdGUgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuN3M7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDJzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gICYubm8tYW5pbWF0aW9uIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbiVoZXJvLXZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IHooJ2RlZmF1bHQnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgdHJhbnNpdGlvbjogMXMgb3BhY2l0eTtcbn1cbiVoZXJvLWltYWdlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IHooJ2RlZmF1bHQnKTtcbn1cbiIsIkBtaXhpbiBvbWVnYS1yZXNldCgkbnRoKSB7XG4gICY6bnRoLWNoaWxkKCN7JG50aH0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMsICRndXR0ZXIpO1xuICB9XG4gICY6bnRoLWNoaWxkKCN7JG50aH0rMSkge1xuICAgIGNsZWFyOiBub25lXG4gIH1cbn1cblxuXG5AbWl4aW4gc3BhY2luZyB7XG4gIEBleHRlbmQgJXNwYWNpbmc7XG59XG5AbWl4aW4gbm8tc3BhY2luZyB7XG4gIEBleHRlbmQgJW5vLXNwYWNpbmc7XG59XG5AbWl4aW4gc2VjdGlvbi1zcGFjaW5nIHtcbiAgQGV4dGVuZCAlc2VjdGlvbi1zcGFjaW5nO1xufVxuXG5cbkBtaXhpbiByb3ctc3BhY2luZygpIHtcbiAgQGluY2x1ZGUgcm93LXNwYWNpbmctc21hbGw7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcGFkZGluZy1sZWZ0OiBmbGV4LXNwYWNpbmcoKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbGV4LXNwYWNpbmcoKTtcbiAgfVxufVxuQG1peGluIHJvdy1zcGFjaW5nLXNtYWxsIHtcbiAgcGFkZGluZy1sZWZ0OiByb3ctc3BhY2luZygpO1xuICBwYWRkaW5nLXJpZ2h0OiByb3ctc3BhY2luZygpO1xufVxuXG5cbkBtaXhpbiBjb21wb25lbnQtc3BhY2luZygkc2lkZXMgOiAxIDEgMSAxLCAkYXR0ck5hbWUgOiAnbWFyZ2luJywgJHNwYWNpbmdTaXplIDogJ25vcm1hbCcpIHtcblxuICAkc2lkZXNOYW1lcyA6IHRvcCByaWdodCBib3R0b20gbGVmdDtcbiAgJHByb3BlcnRpZXMgOiAoKTtcblxuICBAaWYgJHNwYWNpbmdTaXplID09ICdub3JtYWwnIHtcbiAgICAkczogKFxuICAgICAgJHNwYWNpbmcteHMsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLXMsXG4gICAgICAgIG06ICRzcGFjaW5nXG4gICAgICApXG4gICAgKTtcbiAgfSBAZWxzZSBpZiAkc3BhY2luZ1NpemUgPT0gJ2xhcmdlJyB7XG4gICAgJHM6IChcbiAgICAgICRzcGFjaW5nLXMsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLFxuICAgICAgICBtOiAkc3BhY2luZy1sXG4gICAgICApXG4gICAgKTtcbiAgfSBAZWxzZSBpZiAkc3BhY2luZ1NpemUgPT0gJ3NtYWxsJyB7XG4gICAgJHM6IChcbiAgICAgICRzcGFjaW5nLXh4cyxcbiAgICAgIChcbiAgICAgICAgczogJHNwYWNpbmcteHMsXG4gICAgICAgIG06ICRzcGFjaW5nLXNcbiAgICAgIClcbiAgICApO1xuICB9IEBlbHNlIGlmICRzcGFjaW5nU2l6ZSA9PSAneHNtYWxsJyB7XG4gICAgJHM6IChcbiAgICAgICRzcGFjaW5nLXh4cyxcbiAgICAgIChcbiAgICAgICAgczogJHNwYWNpbmcteHhzLFxuICAgICAgICBtOiAkc3BhY2luZy14c1xuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2lkZXMpIHtcbiAgICAgICRzaWRlOiBudGgoJHNpZGVzLCAkaSk7XG4gICAgICBAaWYgJHNpZGUgPT0gMSB7XG4gICAgICAgICRzaWRlTmFtZTogbnRoKCRzaWRlc05hbWVzLCAkaSk7XG4gICAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoJHByb3BlcnRpZXMsICBcIiN7JGF0dHJOYW1lfS0jeyRzaWRlTmFtZX1cIik7XG4gICAgICB9XG4gIH1cblxuICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAgICRwcm9wZXJ0eTogJHNcbiAgICApKTtcbiAgfVxufVxuXG5cblxuQG1peGluIGJsb2NrLXNwYWNpbmcoJHNpZGVzIDogMSAxIDEgMSwgJGF0dHJOYW1lIDogJ3BhZGRpbmcnLCAkc3BhY2luZ1NpemUgOiAnbm9ybWFsJykge1xuICAkc2lkZXNOYW1lcyA6IHRvcCByaWdodCBib3R0b20gbGVmdDtcbiAgJHByb3BlcnRpZXMgOiAoKTtcbiAgQGlmICRzcGFjaW5nU2l6ZSA9PSAnbm9ybWFsJyB7XG4gICAgJHM6IChcbiAgICAgICRzcGFjaW5nLFxuICAgICAgKFxuICAgICAgICBzOiAkc3BhY2luZy1sLFxuICAgICAgICBtOiAkc3BhY2luZy14bFxuICAgICAgKVxuICAgICk7XG4gIH0gQGVsc2UgaWYgJHNwYWNpbmdTaXplID09ICdsYXJnZScge1xuICAgICRzOiAoXG4gICAgICAkc3BhY2luZy14bCxcbiAgICAgIChcbiAgICAgICAgczogJHNwYWNpbmctM3hsLFxuICAgICAgICBtOiAkc3BhY2luZy00eGxcbiAgICAgIClcbiAgICApO1xuICB9IEBlbHNlIGlmICRzcGFjaW5nU2l6ZSA9PSAnc21hbGwnIHtcbiAgICAkczogKFxuICAgICAgJHNwYWNpbmcteHMsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLFxuICAgICAgICBtOiAkc3BhY2luZy1sXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaWRlcykge1xuICAgICAgJHNpZGU6IG50aCgkc2lkZXMsICRpKTtcbiAgICAgIEBpZiAkc2lkZSA9PSAxIHtcbiAgICAgICAgJHNpZGVOYW1lOiBudGgoJHNpZGVzTmFtZXMsICRpKTtcbiAgICAgICAgJHByb3BlcnRpZXM6IGFwcGVuZCgkcHJvcGVydGllcywgIFwiI3skYXR0ck5hbWV9LSN7JHNpZGVOYW1lfVwiKTtcbiAgICAgIH1cbiAgfVxuXG4gIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgJHByb3BlcnR5OiAkc1xuICAgICkpO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG4vLyBCcmVhayBTaXplc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIGJyZWFrLWRpc3RhbmNlKCRwcm9wZXJ0eSwgJG1pbnVzIDogZmFsc2UpIHtcblxuICAkc2l6ZSAgICA6IDM2cHg7XG4gICRzaXplLS1zIDogNDRweDtcbiAgJHNpemUtLW0gOiA1NnB4O1xuICAkc2l6ZS0tbCA6IDg0cHg7XG5cbiAgQGlmICRtaW51cyB7XG4gICAgJHNpemUgICAgOiAtJHNpemU7XG4gICAgJHNpemUtLXMgOiAtJHNpemUtLXM7XG4gICAgJHNpemUtLW0gOiAtJHNpemUtLW07XG4gICAgJHNpemUtLWwgOiAtJHNpemUtLWw7XG4gIH1cblxuICAkZGlzdGFuY2U6IChcbiAgICAkc2l6ZSxcbiAgICAoXG4gICAgICBzOiAkc2l6ZS0tcyxcbiAgICAgIG06ICRzaXplLS1tLFxuICAgICAgbDogJHNpemUtLWwsXG4gICAgKVxuICApO1xuXG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAkcHJvcGVydHk6ICRkaXN0YW5jZVxuICApKTtcbn1cblxuXG5cblxuXG5cblxuQG1peGluIGRyb3AtYnJlYWtwb2ludCAoJHNlY3Rpb25TcGFjaW5nIDogdHJ1ZSkge1xuICBAaWYgJHNlY3Rpb25TcGFjaW5nIHtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmc7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LW0pIHtcbiAgICBtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgbWF4LXdpZHRoOiAoXG4gICAgICAgIDEwMCUsXG4gICAgICAgIChcbiAgICAgICAgICBzICA6ICRicmVha3BvaW50LXhzLFxuICAgICAgICAgIG0gIDogJGJyZWFrcG9pbnQtcyxcbiAgICAgICAgICBsICA6ICRicmVha3BvaW50LW0sXG4gICAgICAgICAgeGwgOiAkYnJlYWtwb2ludC1sXG4gICAgICAgIClcbiAgICAgIClcbiAgICApKTtcbn1cbiIsIi8vIFJFTSBjYWxjdWxhdGlvblxuQGZ1bmN0aW9uIGNhbGMtcmVtKCRzaXplKSB7XG4gICRyZW1TaXplOiAkc2l6ZSAvIDE2cHg7XG4gIEByZXR1cm4gJHJlbVNpemUgKiAxcmVtO1xufVxuXG4vLyBQZXJjZW50IGNhbGN1bGF0aW9uXG5AZnVuY3Rpb24gY2FsYy1wZXJjZW50KCR0YXJnZXQsICRjb250YWluZXIpIHtcbiAgQHJldHVybiAoJHRhcmdldCAvICRjb250YWluZXIpICogMTAwJTtcbn1cblxuXG5AZnVuY3Rpb24gcGFyc2UtaW50KCRuKSB7XG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XG59XG5cblxuQGZ1bmN0aW9uIGdldC1ieS1uYW1lKCRjb2xsZWN0aW9uLCAka2V5IDogZGVmYXVsdCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGNvbGxlY3Rpb24sICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbGxlY3Rpb24sICRrZXkpO1xuICB9XG59XG5cblxuLy8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuXG5AZnVuY3Rpb24geigkbGF5ZXIsICRhZGRTdGVwczogZmFsc2UsICRzdGVwOiA1KSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJHotbGF5ZXJzLCAkbGF5ZXIpIHtcbiAgICBAd2FybiBcIk5vIGxheWVyIGZvdW5kIGZvciBgI3skbGF5ZXJ9YCBpbiAkei1sYXllcnMgbWFwLiBQcm9wZXJ0eSBvbWl0dGVkLlwiO1xuICB9XG5cbiAgJHpJbmRleCA6IG1hcC1nZXQoJHotbGF5ZXJzLCAkbGF5ZXIpO1xuXG4gIEBpZiAkYWRkU3RlcHMge1xuICAgICR6SW5kZXggOiAkekluZGV4ICsgJGFkZFN0ZXBzICogJHN0ZXA7XG4gIH1cblxuICBAcmV0dXJuICR6SW5kZXg7XG59XG5cblxuXG5cbkBmdW5jdGlvbiBmbGV4LXNwYWNpbmcoKSB7XG4gIEByZXR1cm4gZmxleC1ncmlkKDEpICsgZmxleC1ndXR0ZXIoKTtcbn1cblxuQGZ1bmN0aW9uIHJvdy1zcGFjaW5nKCkge1xuICBAcmV0dXJuIDQlO1xufVxuIiwiLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG5cbi8vIEN1c3RvbSBzaG9ydGhhbmQgbm90YXRpb24gZm9yIGZsZXhib3hcbkBtaXhpbiBib3goJG9yaWVudDogaW5saW5lLWF4aXMsICRwYWNrOiBzdGFydCwgJGFsaWduOiBzdHJldGNoKSB7XG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xuICBAaW5jbHVkZSBib3gtb3JpZW50KCRvcmllbnQpO1xuICBAaW5jbHVkZSBib3gtcGFjaygkcGFjayk7XG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xufVxuXG5AbWl4aW4gZGlzcGxheS1ib3gge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyBJRSAxMFxuICBkaXNwbGF5OiBib3g7XG59XG5cbkBtaXhpbiBib3gtb3JpZW50KCRvcmllbnQ6IGlubGluZS1heGlzKSB7XG4vLyBob3Jpem9udGFsfHZlcnRpY2FsfGlubGluZS1heGlzfGJsb2NrLWF4aXN8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGp1c3RpZnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRwYWNrLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wYWNrOiAkcGFjazsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8YmFzZWxpbmV8c3RyZXRjaFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbGlnbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogbm9ybWFsKSB7XG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xuLy8gc2luZ2xlfG11bHRpcGxlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGxpbmVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYm94LW9yZGluYWwtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleCgkdmFsdWU6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8gMjAwOSAtIGJveC1mbGV4IChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXggKGRlY2ltYWwgfCB3aWR0aCBkZWNpbWFsKVxuLy8gMjAxMiAtIGZsZXggKGludGVnZXIgaW50ZWdlciB3aWR0aClcbkBtaXhpbiBmbGV4KCR2YWx1ZSkge1xuXG4gIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgJGZsZXgtZ3JvdzogbnRoKCR2YWx1ZSwgMSk7XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMCksIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yaWVudCAoIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZS1heGlzIHwgYmxvY2stYXhpcylcbi8vICAgICAgLSBib3gtZGlyZWN0aW9uIChub3JtYWwgfCByZXZlcnNlKVxuLy8gMjAxMSAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtZGlyZWN0aW9uIChyb3cgfCByb3ctcmV2ZXJzZSB8IGNvbHVtbiB8IGNvbHVtbi1yZXZlcnNlKVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZTogcm93KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJHZhbHVlLTIwMDk6ICR2YWx1ZTtcbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgJGRpcmVjdGlvbjogbm9ybWFsO1xuXG4gIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogaG9yaXpvbnRhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJjb2x1bW4tcmV2ZXJzZVwiIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1saW5lcyAoc2luZ2xlIHwgbXVsdGlwbGUpXG4vLyAyMDExIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuLy8gMjAxMiAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcbiAgLy8gQWx0IHZhbHVlc1xuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gbm93cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBzaW5nbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcIndyYXAtcmV2ZXJzZVwiIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC13cmFwLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTEgLSBUT0RPOiBwYXJzZSB2YWx1ZXMgaW50byBmbGV4LWRpcmVjdGlvbi9mbGV4LXdyYXBcbi8vIDIwMTIgLSBmbGV4LWZsb3cgKGZsZXgtZGlyZWN0aW9uIHx8IGZsZXgtd3JhcClcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZmxvdywgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gYm94LW9yZGluYWwtZ3JvdXAgKGludGVnZXIpXG4vLyAyMDExIC0gZmxleC1vcmRlciAoaW50ZWdlcilcbi8vIDIwMTIgLSBvcmRlciAoaW50ZWdlcilcbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWdyb3cgKG51bWJlcilcbkBtaXhpbiBmbGV4LWdyb3coJG51bWJlcjogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1zaHJpbmsgKG51bWJlcilcbkBtaXhpbiBmbGV4LXNocmluaygkbnVtYmVyOiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtc2hyaW5rLCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWJhc2lzLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkd2lkdGg7XG59XG5cbi8vIDIwMDkgLSBib3gtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMSAtIGZsZXgtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5KVxuLy8gMjAxMiAtIGp1c3RpZnktY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZClcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG5cbiAgLy8gQWx0IHZhbHVlcy5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LXBhY2s6ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMSAtIGZsZXgtYWxpZ24gKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWl0ZW1zIChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24taXRlbXMsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1hbGlnbjogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtaXRlbS1hbGlnbiAoYXV0byB8IHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLXNlbGYgKGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tc2VsZigkdmFsdWU6IGF1dG8pIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBTdGFnIFNhbnNcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk5vZSBEaXNwbGF5XCIsIFwiLi4vZm9udHMvTm9lIERpc3BsYXkgQm9sZFwiLCAgICAgICAgNzAwLCAgICAgICAgICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIk5vZSBEaXNwbGF5XCIsIFwiLi4vZm9udHMvTm9lIERpc3BsYXkgQm9sZCBJdGFsaWNcIiwgNzAwLCBpdGFsaWMsICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkJyb3duXCIsIFwiLi4vZm9udHMvbGluZXRvLWJyb3duLWJvbGRcIiwgICAgICAgICAgNzAwLCAgICAgICAgICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkJyb3duXCIsIFwiLi4vZm9udHMvbGluZXRvLWJyb3duLXJlZ3VsYXJcIiwgICAgICAgNDAwLCAgICAgICAgICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkJyb3duXCIsIFwiLi4vZm9udHMvbGluZXRvLWJyb3duLWxpZ2h0XCIsICAgICAgICAgMjAwLCAgICAgICAgICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcbkBpbmNsdWRlIGZvbnQtZmFjZShcIkJyb3duXCIsIFwiLi4vZm9udHMvbGluZXRvLWJyb3duLXRoaW5cIiwgICAgICAgICAgMTAwLCAgICAgICAgICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmKTtcblxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5vcm1hbGl6ZS5zY3NzIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICB1c2VyIHpvb20uXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgYGVtYCB1bml0cy5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmEge1xuICAmOmFjdGl2ZSwgJjpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfTtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaW5jbHVkZSBzZWxlY3Rpb24ge1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuJGJvZHktYm9yZGVyICAgIDogOHB4O1xuJGJvZHktYm9yZGVyLS1sIDogJHNwYWNpbmc7XG5cblxuXG5odG1sIHtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICRib2R5LWNvbG9yO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgZm9udC1mYW1pbHk6ICRmb250LXRleHQ7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuICBAZXh0ZW5kICV0ZXh0LS1kZWZhdWx0O1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiAkYm9keS1ib3JkZXIgc29saWQgJGNvbG9yLXdoaXRlO1xuICBib3JkZXItcmlnaHQ6ICRib2R5LWJvcmRlciBzb2xpZCAkY29sb3Itd2hpdGU7XG4gIHBhZGRpbmc6ICRib2R5LWJvcmRlciAwO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHBhZGRpbmctdG9wOiAkYm9keS1ib3JkZXItLWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRib2R5LWJvcmRlci0tbDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogJGJvZHktYm9yZGVyLS1sO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogJGJvZHktYm9yZGVyLS1sO1xuICB9XG5cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAkYm9keS1ib3JkZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICAgIGhlaWdodDogJGJvZHktYm9yZGVyLS1sO1xuICAgIH1cbiAgICB6LWluZGV4OiB6KCdmaXhlZCcpO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi5wcmVsb2FkICoge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ub2ZmY2FudmFzLXZpc2libGUsXG4ub2ZmY2FudmFzLXZpc2libGUgYm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbn1cblxuIiwiLy8gU2ltcGxlIFRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICRwYXJhZ3JhcGgtdGV4dDogcDEgcDIgcDM7XG4vLyBAZWFjaCAkcCBpbiAkcGFyYWdyYXBoLXRleHQge1xuLy8gICAjeyRwfSxcbi8vICAgLiN7JHB9IHtcbi8vICAgICBAZXh0ZW5kICUjeyRwfS1zaXplO1xuLy8gICB9XG4vLyB9XG5cblxuLy8gSGVhZGluZ3Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuIGgxLCAgaDIsICBoMywgIGg0LCAgaDUsICBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBmb250LWZhbWlseSAgICA6ICRmb250LWhlYWRlcjtcbiAgbGluZS1oZWlnaHQgICAgOiAkaGVhZGluZy1saW5lLWhlaWdodDtcbiAgbWFyZ2luICAgICAgICAgOiAkaGVhZGluZy1tYXJnaW47XG4gIHRleHQtcmVuZGVyaW5nIDogb3B0aW1pemVMZWdpYmlsaXR5OyAvLyBGaXggdGhlIGNoYXJhY3RlciBzcGFjaW5nIGZvciBoZWFkaW5nc1xuICBmb250LXdlaWdodDogJGhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbiRoZWFkaW5nczogaDEgaDIgaDMgaDQgaDUgaDY7XG5AZWFjaCAkaCBpbiAkaGVhZGluZ3Mge1xuICAjeyRofSxcbiAgLiN7JGh9IHtcbiAgICBAZXh0ZW5kICUjeyRofS1zaXplO1xuICB9XG59XG4uaDAge1xuICBAZXh0ZW5kICVoMC1zaXplO1xufVxuXG4vLyBMaW5rc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5hIHtcbiAgQGV4dGVuZCAlbGluaztcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gICYucHJpbWFyeSB7XG4gICAgQGV4dGVuZCAlbGluay1wcmltYXJ5O1xuICB9XG4gICYuc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kICVsaW5rLXNlY29uZGFyeTtcbiAgfVxufVxuXG4vLyBHZW5lcmFsIFR5cG9ncmFwaHlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxucCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDA7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5cbmltZyxcbnBpY3R1cmUge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gUXVvdGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6ICRib3JkZXItc2l6ZS0tdGhpY2sgJGJvcmRlci1zdHlsZSAkYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luOiAoXG4gICAgICBcIiN7JHNwYWNpbmd9IDBcIlxuICAgICksXG4gICAgcGFkZGluZy1sZWZ0OiAoXG4gICAgICAkc3BhY2luZy1zLFxuICAgICAgKFxuICAgICAgICBzOiAkc3BhY2luZyxcbiAgICAgICAgbTogJHNwYWNpbmctbFxuICAgICAgKVxuICAgICksXG4gICAgcGFkZGluZy1yaWdodDogKFxuICAgICAgJHNwYWNpbmcsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLFxuICAgICAgICBtOiAkc3BhY2luZy1sXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuLy8gTGlzdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5vbC5kZWZhdWx0IHtcbiAgQGV4dGVuZCAlZGVmYXVsdC1vbDtcbn1cblxudWwuZGVmYXVsdCB7XG4gIEBleHRlbmQgJWRlZmF1bHQtdWw7XG59XG5cbmRsIHtcbiAgbWFyZ2luOiAwO1xuICBkdCxcbiAgZGQge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICYuZGVmYXVsdCB7XG4gICAgQGV4dGVuZCAlZGVmYXVsdC1kbDtcbiAgfVxufVxuXG4vLyBTZXBhcmF0b3JzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmhyIHtcbiAgaGVpZ2h0OiAkYm9yZGVyLXNpemU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgQGV4dGVuZCAlYmxvY2stbWFyZ2luLXZlcnRpY2FsO1xufVxuIiwiJGZvcm0tbWVkaWEtbCA6ICRtZWRpYS1tO1xuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxuYnV0dG9uIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b24sXG50ZXh0YXJlYTpmb2N1cyxcbmlucHV0OmZvY3VzLFxuc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgJi4taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuI3skYWxsLXRleHQtaW5wdXRzfSxcbnNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUsXG4gICAgICAoXG4gICAgICAgIG0gOiAkZm9ybS10ZXh0LWZvbnQtc2l6ZS0tbFxuICAgICAgKVxuICAgICksXG4gICAgaGVpZ2h0OiAoXG4gICAgICAkZm9ybS10ZXh0LWhlaWdodCxcbiAgICAgIChcbiAgICAgICAgbSA6ICRmb3JtLXRleHQtaGVpZ2h0LS1sXG4gICAgICApXG4gICAgKSxcbiAgKSk7XG5cbiAgJi4tc2hvcnQge1xuICAgIHdpZHRoOiAkZm9ybS10ZXh0LXdpZHRoLS1zaG9ydDtcbiAgfVxuICAmLi1sb25nIHtcbiAgICB3aWR0aDogJGZvcm0tdGV4dC13aWR0aC0tbG9uZztcbiAgfVxuICAmLi1mdWxsIHtcbiAgICB3aWR0aDogJGZvcm0tdGV4dC13aWR0aC0tZnVsbDtcbiAgfVxuICAmLi1zbWFsbCB7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgaGVpZ2h0OiAoXG4gICAgICAgICRmb3JtLXRleHQtaGVpZ2h0LS1zbWFsbCxcbiAgICAgICAgKFxuICAgICAgICAgIG0gOiAkZm9ybS10ZXh0LWhlaWdodC0tc21hbGwtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICApKTtcbiAgfVxuICAmLi1sYXJnZSB7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgaGVpZ2h0OiAoXG4gICAgICAgICRmb3JtLXRleHQtaGVpZ2h0LS1sYXJnZSxcbiAgICAgICAgKFxuICAgICAgICAgIG0gOiAkZm9ybS10ZXh0LWhlaWdodC0tbGFyZ2UtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICApKTtcbiAgfVxufVxuXG4jeyRhbGwtdGV4dC1pbnB1dHN9IHtcbiAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gIGJhY2tncm91bmQ6ICRmb3JtLXRleHQtYmc7XG4gIGJvcmRlcjogJGZvcm0tdGV4dC1ib3JkZXI7XG4gIHRyYW5zaXRpb246ICRmb3JtLXRleHQtdHJhbnNpdGlvbjtcbiAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1zO1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy1zO1xufVxuXG5cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgaGVpZ2h0OiAoXG4gICAgICAkZm9ybS10ZXh0YXJlYS1oZWlnaHQsXG4gICAgICAoXG4gICAgICAgIG0gOiAkZm9ybS10ZXh0YXJlYS1oZWlnaHQtLWxcbiAgICAgIClcbiAgICApLFxuICApKTtcbiAgb3B0aW9uIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14eHM7XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgaGVpZ2h0OiAoXG4gICAgICAkZm9ybS10ZXh0YXJlYS1oZWlnaHQsXG4gICAgICAoXG4gICAgICAgIG0gOiAkZm9ybS10ZXh0YXJlYS1oZWlnaHQtLWxcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctdG9wOiAoXG4gICAgICAkc3BhY2luZy14cyxcbiAgICAgIChcbiAgICAgICAgbTogJHNwYWNpbmctc1xuICAgICAgKVxuICAgICksXG4gICAgcGFkZGluZy1ib3R0b206IChcbiAgICAgICRzcGFjaW5nLXhzLFxuICAgICAgKFxuICAgICAgICBtOiAkc3BhY2luZy1zXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgQGluY2x1ZGUgbm8tdG91Y2gge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgfVxufVxuIiwidGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRoLFxuICB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy14eHM7XG4gIH1cbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjYWxlIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDkwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC43KTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcbiAgMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuMTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTBweCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgYXJyb3dNb3ZlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIG5hdlNob3cge1xuICAwJSB7XG4gICAgei1pbmRleDogeignZml4ZWQnKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLy8gQGtleWZyYW1lcyBuYXZIaWRlIHtcbi8vICAgMCUge1xuLy8gICAgIG9wYWNpdHk6IDE7XG4vLyAgICAgdHJhbnNmb3JtOiBub25lO1xuLy8gICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4vLyAgIH1cbi8vICAgOTklIHtcbi8vICAgICBvcGFjaXR5OiAwO1xuLy8gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuLy8gICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbi8vICAgICB6LWluZGV4OiB6KCdiZWxvdycpO1xuLy8gICB9XG4vLyAgIDEwMCUge1xuLy8gICAgIG9wYWNpdHk6IDA7XG4vLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4vLyAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICAgIHotaW5kZXg6IHooJ2JlbG93Jyk7XG4vLyAgIH1cbi8vIH1cblxuLy8gLmFuaW1hdGVkIHtcbiAgLy8gYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLy8gYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgLy8gJi5pbmZpbml0ZSB7XG4gIC8vICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIC8vIH1cbi8vIH1cbiIsIi8vIHRoaXMgaXMgdGhlIG1haW4gd3JhcHBlciAtIHNob3VsZCBiZSB1c2VkIG9ubHkgb25jZSByaWdodCBhZnRlciB0aGUgYm9keSB0YWdcbi5sLXdyYXAge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLy8gQGV4dGVuZCAlY29udGFpbmVyO1xuICAvLyBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDI4OHB4O1xuICAvLyBtYXgtd2lkdGg6IG5vbmU7XG4gIC8vICYtLXByb2R1Y3Qge1xuICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcHJvZHVjdC1iZy5qcGcpO1xuICAvLyAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDtcbiAgLy8gICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvLyB9XG59XG5cbi8vIHVzZSB0aGlzIGNsYXNzIHRvIHdyYXAgdGhlIGNvbnRhaW5lciB0byBhZGQgcGFkZGluZyBvbiB0aGUgc2lkZXNcbi5sLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG59XG5cbi8vIHVzZSB0aGlzIGNsYXNzIHRvIHdyYXAgZ3JpZHNcbi5sLWNvbnRhaW5lciB7XG4gIEBleHRlbmQgJWNvbnRhaW5lcjtcbiAgJi4tcyB7XG4gICAgbWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zO1xuICB9XG4gICYuLW0ge1xuICAgIG1heC13aWR0aDogJGJyZWFrcG9pbnQtbTtcbiAgfVxuICAmLi1sIHtcbiAgICBtYXgtd2lkdGg6ICRicmVha3BvaW50LWw7XG4gIH1cbiAgJi4teGwge1xuICAgIG1heC13aWR0aDogJGJyZWFrcG9pbnQtbDtcbiAgfVxufVxuXG4ubC1mbGV4IHtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbn1cblxuLy8gdXNlIHRoaXMgY2xhc3MgdG8gd3JhcCBncmlkc1xuLmwtc3BhY2luZyB7XG4gIEBleHRlbmQgJXNwYWNpbmc7XG59XG5cbi5sLXNlY3Rpb24tc3BhY2luZyB7XG4gIEBleHRlbmQgJXNlY3Rpb24tc3BhY2luZztcbn1cblxuLmwtY29sIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgMCk7XG4gIC8vIFRPRE86IGFkZCByZXNwb25zaXZlXG59XG5cbi8vIHNpbXBsZSBmdWxsLXdpZHRoIHJvd1xuLmwtZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuIiwiJGNvbXBvbmVudC1uYW1lICAgICAgICAgICAgICAgICAgICAgOiBjLWJ0bjtcbiRjb21wb25lbnQtc2VsZWN0b3IgICAgICAgICAgICAgICAgIDogXCIuI3skY29tcG9uZW50LW5hbWV9XCI7XG4kY29tcG9uZW50LXN0YXRlLWRpc2FibGVkLXNlbGVjdG9ycyA6IChcIi5pcy1kaXNhYmxlZFwiLCBcIltkaXNhYmxlZF1cIiwgXCJbZGF0YS1kaXNhYmxlZF1cIik7XG4kY29tcG9uZW50LW1lZGlhLW1heC1tICAgICAgICAgICAgICA6ICRtZWRpYS1tYXgtbTtcbiRjb21wb25lbnQtbWVkaWEtbSAgICAgICAgICAgICAgICAgIDogJG1lZGlhLW07XG4kY29tcG9uZW50LW1lZGlhLWwgICAgICAgICAgICAgICAgICA6ICRtZWRpYS1sO1xuXG4kY29tcG9uZW50LXByaW1hcnktY29sb3IgICAgICAgICAgICA6ICRjb2xvci1lZGVuO1xuJGNvbXBvbmVudC1zZWNvbmRhcnktY29sb3IgICAgICAgICAgOiAkY29sb3ItZ3JleTtcbiRjb21wb25lbnQtdGVydGlhcnktY29sb3IgICAgICAgICAgIDogJGNvbG9yLWdyZXk7XG4kY29tcG9uZW50LWxpZ2h0LWNvbG9yICAgICAgICAgICAgICA6ICRjb2xvci13aGl0ZTtcblxuXG5cblxuJSN7JGNvbXBvbmVudC1uYW1lfSB7XG4gIEBleHRlbmQgJWJ1dHRvbi1yZXNldDtcbiAgQGV4dGVuZCAlcHJlc3M7XG5cbiAgbWFyZ2luOiAycHg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRjb21wb25lbnQtbGlnaHQtY29sb3I7XG4gIGJhY2tncm91bmQ6ICRjb21wb25lbnQtc2Vjb25kYXJ5LWNvbG9yO1xuICBib3JkZXI6IDA7XG5cblxuICAmLi1maWxsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb21wb25lbnQtbGlnaHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGNvbXBvbmVudC1wcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX0tLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGNvbG9yLWdyZXk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci1ncmV5O1xuICB9XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX0tLW5vcm1hbCB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBoZWlnaHQ6IChcbiAgICAgIDMycHhcbiAgICAgIChcbiAgICAgICAgcyA6IDQwcHhcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAzMnB4XG4gICAgICAoXG4gICAgICAgIHMgOiA0MHB4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nOiAoXG4gICAgICBcIjAgI3skc3BhY2luZy14c31cIixcbiAgICAgIChcbiAgICAgICAgbSAgICAgOiBcIjAgI3skc3BhY2luZy1zfVwiLFxuICAgICAgICBsICAgICA6IFwiMCAjeyRzcGFjaW5nfVwiLFxuICAgICAgICB4bCAgICA6IFwiMCAjeyRzcGFjaW5nLWx9XCIsXG4gICAgICApXG4gICAgKSxcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE2cHgsXG4gICAgICAoXG4gICAgICAgIHMgICAgIDogMTZweCxcbiAgICAgICAgbSAgICAgOiAyMHB4LFxuICAgICAgICBsICAgICA6IDI0cHgsXG4gICAgICAgIHhsICAgIDogMjhweCxcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS1zbWFsbCB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBoZWlnaHQ6IChcbiAgICAgIDI2cHhcbiAgICAgIChcbiAgICAgICAgcyA6IDMwcHhcbiAgICAgIClcbiAgICApLFxuICAgIGxpbmUtaGVpZ2h0OiAoXG4gICAgICAyNnB4XG4gICAgICAoXG4gICAgICAgIHMgOiAzMHB4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nOiAoXG4gICAgICBcIjAgI3skc3BhY2luZy14eHN9XCIsXG4gICAgICAoXG4gICAgICAgIHMgIDogXCIwICN7JHNwYWNpbmcteHN9XCIsXG4gICAgICAgIG0gIDogXCIwICN7JHNwYWNpbmctc31cIixcbiAgICAgICAgbCAgOiBcIjAgI3skc3BhY2luZ31cIixcbiAgICAgICAgeGwgOiBcIjAgI3skc3BhY2luZy1sfVwiXG4gICAgICApXG4gICAgKSxcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE0cHgsXG4gICAgICAoXG4gICAgICAgIHMgIDogMTRweCxcbiAgICAgICAgbSAgOiAxNnB4LFxuICAgICAgICBsICA6IDE4cHgsXG4gICAgICAgIHhsIDogMjBweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX0tLWxhcmdlIHtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGhlaWdodDogKFxuICAgICAgNDRweFxuICAgICAgKFxuICAgICAgICBzIDogNTBweFxuICAgICAgKVxuICAgICksXG4gICAgbGluZS1oZWlnaHQ6IChcbiAgICAgIDQ0cHhcbiAgICAgIChcbiAgICAgICAgcyA6IDUwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmc6IChcbiAgICAgIFwiMCAjeyRzcGFjaW5nLXN9XCIsXG4gICAgICAoXG4gICAgICAgIHMgIDogXCIwICN7JHNwYWNpbmd9XCIsXG4gICAgICAgIG0gIDogXCIwICN7JHNwYWNpbmctbH1cIixcbiAgICAgICAgbCAgOiBcIjAgI3skc3BhY2luZy14bH1cIixcbiAgICAgICAgeGwgOiBcIjAgI3skc3BhY2luZy14eGx9XCJcbiAgICAgIClcbiAgICApLFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMThweCxcbiAgICAgIChcbiAgICAgICAgcyAgOiAyMHB4LFxuICAgICAgICBtICA6IDI0cHgsXG4gICAgICAgIGwgIDogMzBweCxcbiAgICAgICAgeGwgOiAzNnB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuJSN7JGNvbXBvbmVudC1uYW1lfS0tZnVsbCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJGNvbXBvbmVudC1wcmltYXJ5LWNvbG9yO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBvbmVudC1zZWNvbmRhcnktY29sb3I7XG4gIH1cbn1cblxuJSN7JGNvbXBvbmVudC1uYW1lfS0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWVkZW47XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29tcG9uZW50LXNlY29uZGFyeS1jb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX0tLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWVkZW47XG4gIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1lZGVuO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgfVxufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGNvbG9yLWdyZXk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5O1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRjb21wb25lbnQtcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRjb21wb25lbnQtcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS1saWdodC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci1ncmV5O1xuICB9XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX0tLWxpZ2h0LXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgY29sb3I6ICRjb2xvci1lZGVuO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbiAgfVxufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS1saWdodC10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgY29sb3I6ICRjb2xvci1ncmV5O1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWFzaDtcbiAgICBjb2xvcjogJGNvbG9yLWdyZXk7XG4gIH1cbn1cbiUjeyRjb21wb25lbnQtbmFtZX0tLWxpZ2h0LXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3ItYXNoO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWFzaDtcbiAgfVxufVxuXG4lI3skY29tcG9uZW50LW5hbWV9LS1pY29uIHtcbiAgJjpiZWZvcmUge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX1fX2ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9LS1pY29uO1xufVxuXG4jeyRjb21wb25lbnQtc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9O1xuICAmLi1ub3JtYWwge1xuICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfS0tbm9ybWFsO1xuICB9XG4gICYuLXNtYWxsIHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLXNtYWxsO1xuICB9XG4gICYuLWxhcmdlIHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLWxhcmdlO1xuICB9XG4gICYuLWZ1bGwge1xuICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfS0tZnVsbDtcbiAgfVxuICAmLi1wcmltYXJ5IHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLXByaW1hcnk7XG4gIH1cbiAgJi4tc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLXNlY29uZGFyeTtcbiAgfVxuICAmLi10ZXJ0aWFyeSB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9LS10ZXJ0aWFyeTtcbiAgfVxuICAmLi10cmFuc3BhcmVudCB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9LS10cmFuc3BhcmVudDtcbiAgfVxuICAmLi1saWdodC1wcmltYXJ5IHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLWxpZ2h0LXByaW1hcnk7XG4gIH1cbiAgJi4tbGlnaHQtc2Vjb25kYXJ5IHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLWxpZ2h0LXNlY29uZGFyeTtcbiAgfVxuICAmLi1saWdodC10ZXJ0aWFyeSB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9LS1saWdodC10ZXJ0aWFyeTtcbiAgfVxuICAmLi1saWdodC10cmFuc3BhcmVudCB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9LS1saWdodC10cmFuc3BhcmVudDtcbiAgfVxuICAmLi1pY29uIHtcbiAgICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX0tLWljb247XG4gIH1cbiAgJl9faWNvbiB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9X19pY29uO1xuICB9XG5cbiAgQGVhY2ggJHNlbGVjdG9yIGluICRjb21wb25lbnQtc3RhdGUtZGlzYWJsZWQtc2VsZWN0b3JzIHtcbiAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfS0tZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIkY29tcG9uZW50LW5hbWUgICAgICA6IGMtZm9ybTtcbiRjb21wb25lbnQtc2VsZWN0b3IgIDogXCIuI3skY29tcG9uZW50LW5hbWV9XCI7XG5cbiUjeyRjb21wb25lbnQtbmFtZX0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiUjeyRjb21wb25lbnQtbmFtZX1fX3JvdyB7XG4gIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKDEgMCAxIDAsICdtYXJnaW4nKTtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuJSN7JGNvbXBvbmVudC1uYW1lfV9fY2hlY2sge1xuICBAZXh0ZW5kICVwMy1zaXplO1xuICAmLi1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXhzO1xuICB9XG59XG4lI3skY29tcG9uZW50LW5hbWV9X19sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuJSN7JGNvbXBvbmVudC1uYW1lfV9fc2VsZWN0IHtcbiAgY29sb3IgICAgICA6ICRmb3JtLXRleHQtY29sb3I7XG4gIGJhY2tncm91bmQgOiAkZm9ybS10ZXh0LWJnO1xuICBib3JkZXIgICAgIDogJGZvcm0tdGV4dC1ib3JkZXI7XG4gIHRyYW5zaXRpb24gOiAkZm9ybS10ZXh0LXRyYW5zaXRpb247XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1zaXplO1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZztcbiAgJi4tZnVsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHggNnB4IDAgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyZXkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6ICRzcGFjaW5nLXhzO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogeignZGVmYXVsdCcsIDEpO1xuICB9XG59XG4lI3skY29tcG9uZW50LW5hbWV9X19zZWxlY3QtYm94IHtcbiAgQGluY2x1ZGUgc2VsZWN0LXJlc2V0KCk7XG4gIHotaW5kZXg6IHooJ2RlZmF1bHQnLCAyKTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5cbiN7JGNvbXBvbmVudC1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRjb21wb25lbnQtbmFtZX07XG4gICZfX3JvdyB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9X19yb3c7XG4gIH1cbiAgJl9fbGFiZWwge1xuICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfV9fbGFiZWw7XG4gIH1cbiAgJl9fY2hlY2sge1xuICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfV9fY2hlY2s7XG4gIH1cblxuXG4gIC8vIHdlIGRvbid0IHdhbnQgdG8gY3JlYXRlIHNlcGFyYXRlIGNsYXNzZXMgZm9yIHRoZSBmb3Jtc1xuICAvLyBiZWNhdXNlIGl0IGNhbiBtYWtlIGhhcmQgdG8gZ2VuZXJhdGUgZ2VuZXJpYyBmb3JtcyBpbiB0aGUgYmFja2VuZFxuICAvLyBhbGwgdGhlIHN0eWxlcyBmb3IgdGhlIGZvcm1zIHNob3VsZCBiZSBzZXQgaGVyZSBpbnNpZGUgdGhlIG1haW4gY29tcG9uZW50XG4gICZfX3NlbGVjdCB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9X19zZWxlY3Q7XG4gICAgc2VsZWN0IHtcbiAgICAgIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfV9fc2VsZWN0LWJveDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBzZWxlY3QtcmVzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIiRjb21wb25lbnQtbmFtZSAgICAgIDogYy10aXRsZTtcbiRjb21wb25lbnQtc2VsZWN0b3IgIDogXCIuI3skY29tcG9uZW50LW5hbWV9XCI7XG5cbiUjeyRjb21wb25lbnQtbmFtZX0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC8vIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKDEgMCAxIDAsICdtYXJnaW4nLCAnbGFyZ2UnKTtcbiAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgLy8gfVxufVxuXG4lI3skY29tcG9uZW50LW5hbWV9X19tYWluIHtcbiAgQGV4dGVuZCAlaDEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIG1hcmdpbjogMDtcbn1cbiUjeyRjb21wb25lbnQtbmFtZX1fX3N1YiB7XG4gIEBleHRlbmQgJWgzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMDtcbn1cblxuI3skY29tcG9uZW50LXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGNvbXBvbmVudC1uYW1lfTtcbiAgJl9fbWFpbiB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9X19tYWluO1xuICB9XG4gICZfX3N1YiB7XG4gICAgQGV4dGVuZCAlI3skY29tcG9uZW50LW5hbWV9X19zdWI7XG4gIH1cbn1cblxuIiwiLy8gVXRpbGl0eSBDbGFzc2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbltoaWRkZW5dLFxuLmhpZGUsXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheSA6IG5vbmU7XG59XG4udS1jZiB7XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyIDogYm90aDtcbiAgICBjb250ZW50IDogJyAnO1xuICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICBmb250LXNpemUgOiAwO1xuICAgIGhlaWdodCA6IDA7XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgfVxufVxuLnUtY2wge1xuICBib3JkZXIgOiAwO1xuICBjbGVhciA6IGJvdGg7XG4gIGRpc3BsYXkgOiBibG9jaztcbiAgaGVpZ2h0IDogMDtcbiAgbWFyZ2luIDogMDtcbiAgcGFkZGluZyA6IDA7XG59XG5cbi51LWhzIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgzLDEpO1xuICBwYWRkaW5nOiAwIC41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBBbGlnbiBDbGFzc2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4udS10YyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51LXRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51LXRyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udS1mbCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnUtZnIge1xuICBmbG9hdDogcmlnaHQ7XG59XG4udS1mbiB7XG4gIGZsb2F0Om5vbmU7XG59XG4vLyBibG9jayBjZW50ZXJcbi51LWJjIHtcbiBtYXJnaW4tbGVmdDogYXV0bztcbiBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4vLyB2ZXJ0aWNhbCBjZW50ZXJcbi51LWJ2YyB7XG4gcG9zaXRpb246IHJlbGF0aXZlO1xuIHRvcDogNTAlO1xuIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnUtc2VwIHtcbiAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoMSAwIDEgMCwgJ21hcmdpbicpO1xuICAmLi1zbWFsbCB7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoMSAwIDEgMCwgJ21hcmdpbicsICdzbWFsbCcpO1xuICB9XG4gICYuLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygxIDAgMSAwLCAnbWFyZ2luJywgJ2xhcmdlJyk7XG4gIH1cbn1cblxuXG4udS1saW5lIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygxIDAgMSAwLCAnbWFyZ2luJyk7XG4gICYuLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygxIDAgMSAwLCAnbWFyZ2luJywgJ3NtYWxsJyk7XG4gIH1cbiAgJi4tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKDEgMCAxIDAsICdtYXJnaW4nLCAnbGFyZ2UnKTtcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgIDogYi1oZWFkZXI7XG4kYmxvY2stc2VsZWN0b3IgICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4kYmxvY2staGVpZ2h0ICAgICAgOiAxMDBweDtcbiRibG9jay1sb2dvLXdpZHRoICA6IDEzOHB4O1xuJGJsb2NrLWxvZ28taGVpZ2h0IDogNDRweDtcblxuJSN7JGJsb2NrLW5hbWV9IHtcblxufVxuXG4lI3skYmxvY2stbmFtZX0tLW92ZXJsYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOjEwMCU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogeignaGVhZGVyJyk7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuJSN7JGJsb2NrLW5hbWV9X193cmFwIHtcbiAgaGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xuXG59XG5cblxuJSN7JGJsb2NrLW5hbWV9X19sb2dvIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJGJsb2NrLWxvZ28td2lkdGg7XG59XG4lI3skYmxvY2stbmFtZX1fX2xvZ28taW1nIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2dvLnN2ZykgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIHdpZHRoOiAkYmxvY2stbG9nby13aWR0aDtcbiAgaGVpZ2h0OiAkYmxvY2stbG9nby1oZWlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuJSN7JGJsb2NrLW5hbWV9X19sb2dvLWltZy0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2xvZ28td2hpdGUuc3ZnKTtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19uYXYge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmLS1vdmVybGFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfS0tb3ZlcmxhcDtcbiAgfVxuICAmX19jb250YWluZXIge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb250YWluZXI7XG4gIH1cbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xvZ287XG4gIH1cbiAgJl9fbG9nby1pbWcge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19sb2dvLWltZztcbiAgICAmLS13aGl0ZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbG9nby1pbWctLXdoaXRlO1xuICAgIH1cbiAgfVxuICAmX19uYXYge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19uYXY7XG4gIH1cbn1cblxuXG5cbiIsIiRibG9jay1uYW1lICAgICA6IGItaGVhZGVyLW5hdjtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiRibG9jay1oZWlnaHQgICA6IDEwMHB4O1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBmbG9hdDpyaWdodDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19saXN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1sKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy1sO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2l0ZW0tLXN1YiB7XG4gICYuaXMtb3BlbiB7XG4gICAgLiN7JGJsb2NrLW5hbWV9X19saW5rIHtcbiAgICAgICY6YWZ0ZXJ7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICBjb2xvcjogJGNvbG9yLWVkZW47XG4gICAgfVxuICAgIC4jeyRibG9jay1uYW1lfV9fbGluay0tb3ZlcmxhcCB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2xpbmsge1xuICBsaW5lLWhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEzcHg7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIH1cbiAgLmlzLXNlbGVjdGVkID4gJiB7XG4gICAgY29sb3I6ICRjb2xvci1lZGVuO1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGluay0tb3ZlcmxhcCB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG4gIC5pcy1zZWxlY3RlZCA+ICYge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19saW5rLS1zdWJ7XG4gICY6YWZ0ZXJ7XG4gICAgY29udGVudDokaWNvbi1jaGV2cm9uO1xuICAgIGZvbnQtZmFtaWx5OiBpY29ucztcbiAgICBmb250LXNpemU6IDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICB3aWR0aDogMHB4O1xuICAgIGhlaWdodDogMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG9yLWxpZ2h0LWdyZXk7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGFuZ3Mge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncy1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncy1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLXRpbWluZztcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItZWRlbjtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncy1saW5rLS1vdmVybGFwIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X190b2dnbGUtYnV0dG9uIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1sKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG5cbiAgJl9fbGlzdCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xpc3Q7XG4gIH1cbiAgJl9fbGluay0tc3ViIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluay0tc3ViO1xuICB9XG4gICZfX2l0ZW0ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pdGVtO1xuICAgICYtLXN1YiB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbS0tc3ViO1xuICAgIH1cbiAgfVxuICAmX19saW5rIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgICAmLS1vdmVybGFwIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19saW5rLS1vdmVybGFwO1xuICAgIH1cbiAgfVxuXG4gICZfX2xhbmdzIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFuZ3M7XG4gIH1cbiAgJl9fbGFuZ3MtaXRlbSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xhbmdzLWl0ZW07XG4gIH1cbiAgJl9fbGFuZ3MtbGluayB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xhbmdzLWxpbms7XG4gICAgJi0tb3ZlcmxhcCB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFuZ3MtbGluay0tb3ZlcmxhcDtcbiAgICB9XG4gIH1cblxuICAmX190b2dnbGUtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdG9nZ2xlLWJ1dHRvbjtcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLWhlYWRlci1uYXYtc3ViO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4kYmxvY2stY2xvc2Utc2l6ZSA6IDYwcHg7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOjEwMCU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogeignZml4ZWQnKTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWxpZ2h0LWdyZXk7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC5pcy1vcGVuICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi10aW1lO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X193cmFwIHtcbiAgQGluY2x1ZGUgYmxvY2stc3BhY2luZygxIDAgMSAwLCAncGFkZGluZycsICdsYXJnZScpO1xuICBAaW5jbHVkZSByb3ctc3BhY2luZztcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19yb3cge1xuICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE3cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxN3B4XG4gICAgICApXG4gICAgKVxuICApKVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2NvbCB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3Jvdy0tZm91ciB7XG4gIC5iLWhlYWRlci1uYXYtc3ViX19jb2x7XG4gICAgd2lkdGg6MjUlO1xuICB9XG4gIC5iLWhlYWRlci1uYXYtc3ViX19jb2wtLWRvdWJsZXtcbiAgICB3aWR0aDo1MCU7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19yb3ctLWRpdmlkZXIge1xuICAuYi1oZWFkZXItbmF2LXN1Yl9fY29sIHtcbiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZmUwZTI7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZztcbiAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYi1oZWFkZXItbmF2LXN1Yl9fY29se1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fcm93LS1maXZlIHtcbiAgLmItaGVhZGVyLW5hdi1zdWJfX2NvbHtcbiAgICB3aWR0aDoyMCU7XG4gIH1cbiAgLmItaGVhZGVyLW5hdi1zdWJfX2NvbC0tZG91Ymxle1xuICAgIHdpZHRoOjQwJTtcbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3N1Yi1oZWFkaW5nIHtcbiAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHhzO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14eHM7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gIGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nLCBvcGFjaXR5ICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgaSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxufVxuXG5cbiUjeyRibG9jay1uYW1lfV9fc3ViLWxpc3Qge1xuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICRzcGFjaW5nO1xuICB0b3A6ICRzcGFjaW5nO1xuICBAaW5jbHVkZSBpY29uLS1wbHVzO1xuICB3aWR0aDogJGJsb2NrLWNsb3NlLXNpemU7XG4gIGhlaWdodDogJGJsb2NrLWNsb3NlLXNpemU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgd2lkdGg6ICRibG9jay1jbG9zZS1zaXplO1xuICAgIGhlaWdodDogJGJsb2NrLWNsb3NlLXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRibG9jay1jbG9zZS1zaXplO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cbn1cblxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fcm93e1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19yb3c7XG4gIH1cbiAgJl9fbGlua3tcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbTtcbiAgfVxuICAmX19jb2wge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2w7XG4gIH1cbiAgJl9fcm93LS1mb3VyIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fcm93LS1mb3VyO1xuICB9XG4gICZfX3Jvdy0tZml2ZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3Jvdy0tZml2ZTtcbiAgfVxuICAmX19yb3ctLWRpdmlkZXIge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19yb3ctLWRpdmlkZXI7XG4gIH1cbiAgJl9faGVhZGluZyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2hlYWRpbmc7XG4gIH1cbiAgJl9fc3ViLWhlYWRpbmcge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zdWItaGVhZGluZztcbiAgfVxuICAmX19zdWItbGlzdCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3N1Yi1saXN0O1xuICB9XG4gICZfX2Nsb3NlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY2xvc2U7XG4gIH1cblxuXG59XG5cblxuXG4iLCIkYmxvY2stbmFtZSAgICAgOiBiLWZvb3RlcjtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIHdpZHRoOjEwMCU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1lZGVuIHVybCguLi9pbWFnZXMvd2F0ZXItbGluZS5zdmcpIDUwJSAxMDAlIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOjEwMCU7XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbn1cbiUjeyRibG9jay1uYW1lfV9fd3JhcCB7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgcGFkZGluZy10b3A6IChcbiAgICAgIDYwcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDgwcHgsXG4gICAgICAgIG06IDEwMHB4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWJvdHRvbTogKFxuICAgICAgMTUwcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDI1MHB4LFxuICAgICAgICBtOiAzMDBweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbG9nbyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9nby13aGl0ZS5zdmcpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1zKSB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICB3aWR0aDogMTI4cHg7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fc2xvZ2FuLXBhcnQge1xuICBjb2xvcjokY29sb3Itd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLXNlcmlmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMTZweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDIwcHgsXG4gICAgICAgIG0gOiAyMHB4LFxuICAgICAgICBsIDogMjJweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAxNHB4LFxuICAgICAgICAoXG4gICAgICAgICAgczogMTZweCxcbiAgICAgICAgICBtOiAxNnB4LFxuICAgICAgICAgIGw6IDE4cHhcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkpO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX2NvcHkge1xuICBjb2xvcjokY29sb3Itd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLXhzO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxMnB4LFxuICAgICAgKFxuICAgICAgICBzOiAxM3B4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9faW5mbyB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLWw7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEzcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDE0cHgsXG4gICAgICAgIG06IDE2cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3JvdyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2NvbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmc7XG4gICAgd2lkdGg6IDIwJTtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fY29sLS1sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1zKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fY29sLS1uYXYge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLWw7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC14cykge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19jb2wtLWluZm8ge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC14cykge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fY29sLS1zbG9nYW4ge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXhzKSB7XG5cbiAgfVxufVxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyO1xuICB9XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X193cmFwO1xuICB9XG4gICZfX3JvdyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3JvdztcbiAgfVxuICAmX19jb2wge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2w7XG4gICAgJi0tbG9nbyB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29sLS1sb2dvO1xuICAgIH1cbiAgICAmLS1uYXYge1xuICAgICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbC0tbmF2O1xuICAgIH1cbiAgICAmLS1pbmZvIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2wtLWluZm87XG4gICAgfVxuICAgICYtLXNsb2dhbiB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29sLS1zbG9nYW47XG4gICAgfVxuXG4gIH1cbiAgJl9fbG9nbyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xvZ287XG4gIH1cbiAgJl9fc2xvZ2FuLXBhcnQge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zbG9nYW4tcGFydDtcbiAgfVxuICAmX19jb3B5IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29weTtcbiAgfVxuICAmX19pbmZvIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faW5mbztcbiAgfVxufVxuIiwiLy8gJGNvbG9yLWJsdWVcbiRibG9jay1uYW1lICAgICA6IGItZm9vdGVyLW5hdjtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG5cblxufVxuJSN7JGJsb2NrLW5hbWV9X193cmFwIHtcbiAgQGluY2x1ZGUgcm93LXNwYWNpbmc7XG59XG4lI3skYmxvY2stbmFtZX1fX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luLWJvdHRvbSA6IChcbiAgICAgICRzcGFjaW5nLXh4cyxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLXhzLFxuICAgICAgICBtIDogJHNwYWNpbmctc1xuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lI3skYmxvY2stbmFtZX1fX2xpbmsge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEzcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDE0cHgsXG4gICAgICAgIG06IDE2cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1uZXBhbDtcbiAgfVxufVxuXG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgfVxuXG59XG4iLCIkYmxvY2stbmFtZSAgICAgOiBiLW9mZmNhbnZhcztcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiRibG9jay1ib3JkZXIgICAgOiA4cHg7XG4kYmxvY2stYm9yZGVyLS1sIDogJHNwYWNpbmc7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodC1ncmV5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6ICRibG9jay1ib3JkZXI7XG4gIHRvcDogJGJsb2NrLWJvcmRlcjtcbiAgYm90dG9tOiAkYmxvY2stYm9yZGVyO1xuICByaWdodDogJGJsb2NrLWJvcmRlcjtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBsZWZ0OiAkYmxvY2stYm9yZGVyLS1sO1xuICAgIHRvcDogJGJsb2NrLWJvcmRlci0tbDtcbiAgICBib3R0b206ICRibG9jay1ib3JkZXItLWw7XG4gICAgcmlnaHQ6ICRibG9jay1ib3JkZXItLWw7XG4gIH1cbiAgei1pbmRleDogeignZml4ZWQnLCAxKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLmlzLXZpc2libGUge1xuICAgIHotaW5kZXg6IHooJ2ZpeGVkJywgMSk7XG4gICAgYW5pbWF0aW9uLW5hbWU6IG5hdlNob3c7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYuaXMtaW52aXNpYmxlIHtcbiAgICB6LWluZGV4OiB6KCdiZWxvdycpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJi5pcy1pbml0ZWQge1xuXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi10aW1lO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9faGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICBwYWRkaW5nOjIwcHg7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2xvZ297XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDpsZWZ0O1xuICB3aWR0aDoxMDBweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9nby5zdmcpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19uYXYtd3JhcHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbmF2e1xuICBib3JkZXItdG9wOjFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLWxpZ2h0LWdyZXksIDUpO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2Nsb3NlLWJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDpyaWdodDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG4gIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGcge1xuICAgICAgc3Ryb2tlOiAkY29sb3ItZWRlbjtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19iYWNrIHtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjpiZWZvcmUge1xuICAgIEBleHRlbmQgJWljb24tcmVzZXQ7XG4gICAgY29udGVudDogJGljb24tY2hldnJvbjtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogLTVweDtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19zdWItcGFuZWx7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDoxMDAlO1xuICB0b3A6MHB4O1xuICB6LWluZGV4OiAxMDAwO1xuICBoZWlnaHQ6MTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0LWdyZXk7XG4gIHdpZHRoOjEwMCU7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fb3Blbi1zdWJ7XG4gICN7JGJsb2NrLXNlbGVjdG9yfV9fc3ViLXBhbmVse1xuICAgIGxlZnQ6MDtcbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX3N1Yi10aXRsZXtcbiAgcGFkZGluZzoyMHB4IDIwcHggMTBweCAyMHB4O1xuICBjb2xvcjokY29sb3ItYmx1ZS1zdG9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGF7XG4gICAgY29sb3I6JGNvbG9yLWJsdWUtc3RvbmU7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19zdWItaGVhZGVye1xuICBwYWRkaW5nOjIwcHggMjBweCAwcHggMjBweDtcbiAgY29sb3I6JGNvbG9yLWJsdWUtc3RvbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3N1Yi1zZWN0aW9ue1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLWxpZ2h0LWdyZXksIDUpO1xuXG4gICY6bGFzdC1jaGlsZHtcbiAgICBib3JkZXItYm90dG9tOm5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206MjBweDtcbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2l0ZW17XG5cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19pdGVtLS1zdWJ7XG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIGRhcmtlbigkY29sb3ItbGlnaHQtZ3JleSwgNSk7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGlua3tcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgcGFkZGluZzoxMHB4IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJGljb24tYXJyb3ctcmlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IGljb25zO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OjVweDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltZS0tc2xvdyAkdHJhbnNpdGlvbi10aW1pbmcsIG9wYWNpdHkgJHRyYW5zaXRpb24tdGltZS0tc2xvdyAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGluay0tc3Vie1xuICAmOmFmdGVyIHtcbiAgICBAZXh0ZW5kICVpY29uLXJlc2V0O1xuICAgIGNvbnRlbnQ6ICRpY29uLWNoZXZyb247XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzoxMHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncy1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgY29sb3I6ICRjb2xvci1uZXBhbDtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYW5ncy1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9faGVhZGVyIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faGVhZGVyO1xuICB9XG4gICZfX2xvZ28ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19sb2dvO1xuICB9XG4gICZfX25hdi13cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbmF2LXdyYXA7XG4gIH1cbiAgJl9fbmF2IHtcbiAgICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX25hdjtcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbTtcbiAgfVxuICAmX19pdGVtLS1zdWIge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pdGVtLS1zdWI7XG4gIH1cbiAgJl9fbGlua3tcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgfVxuICAmX19saW5rLS1zdWJ7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xpbmstLXN1YjtcbiAgfVxuICAmX19jbG9zZS1idG4ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jbG9zZS1idG47XG4gIH1cbiAgJl9fYmFjayB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2JhY2s7XG4gIH1cbiAgJl9fc3ViLXBhbmVsIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3ViLXBhbmVsO1xuICB9XG5cbiAgJl9fc3ViLXNlY3Rpb257XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3N1Yi1zZWN0aW9uO1xuICB9XG4gICZfX29wZW4tc3ViIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fb3Blbi1zdWI7XG4gIH1cbiAgJl9fc3ViLWhlYWRlcntcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3ViLWhlYWRlcjtcbiAgfVxuICAmX19zdWItdGl0bGV7XG4gICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zdWItdGl0bGU7XG4gIH1cbiAgJl9fbGFuZ3Mge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19sYW5ncztcbiAgfVxuICAmX19sYW5ncy1pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFuZ3MtaXRlbTtcbiAgfVxuICAmX19sYW5ncy1saW5rIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFuZ3MtbGluaztcbiAgfVxufVxuXG5cblxuIiwiJGJsb2NrLW5hbWUgICAgIDogYi1tb2R1bGU7XG4kYmxvY2stc2VsZWN0b3IgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luOiAoXG4gICAgICBcIjcwcHggMFwiLFxuICAgICAgKFxuICAgICAgICBzOiBcIjEwMHB4IDBcIixcbiAgICAgICAgbTogXCIxNjBweCAwXCIsXG4gICAgICAgIGw6IFwiMjAwcHggMFwiLFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG5cbiUjeyRibG9jay1uYW1lfS0tbm8tdG9wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbiUjeyRibG9jay1uYW1lfS0tbm8tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICYtLW5vLXRvcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX0tLW5vLXRvcDtcbiAgfVxuICAmLS1uby1ib3R0b20ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9LS1uby1ib3R0b207XG4gIH1cbn1cbiIsIiRibG9jay1uYW1lICAgICAgIDogYi1jb250ZW50O1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbn1cbiIsIiRibG9jay1uYW1lICAgICAgIDogYi1wcmVsb2FkZXI7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiRibG9jay1sb2dvLXdpZHRoICA6IDIwN3B4O1xuJGJsb2NrLWxvZ28taGVpZ2h0IDogNjZweDtcblxuJSN7JGJsb2NrLW5hbWV9IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiB6KCdmaXhlZCcsIDMpO1xuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjZzIGxpbmVhcjtcbiAgLnBhZ2UtbG9hZGVkICYge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fbG9nbyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbG9nby5zdmcpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICB3aWR0aDogJGJsb2NrLWxvZ28td2lkdGg7XG4gIGhlaWdodDogJGJsb2NrLWxvZ28taGVpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogYXV0bztcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX19sb2dvIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbG9nbztcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLWhvbWUtaGVybztcbiRibG9jay1zZWxlY3RvciAgIDogXCIuI3skYmxvY2stbmFtZX1cIjtcblxuJGJsb2NrLWFycm93LXNpemUgOiA2MHB4O1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBAZXh0ZW5kICVoZXJvLW1haW47XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lciB7XG4gIEBleHRlbmQgJWhlcm8tY29udGFpbmVyO1xufVxuJSN7JGJsb2NrLW5hbWV9X193cmFwIHtcbiAgQGV4dGVuZCAlaGVyby13cmFwO1xufVxuJSN7JGJsb2NrLW5hbWV9X19hcnJvdyB7XG4gIEBleHRlbmQgJWhlcm8tYXJyb3c7XG59XG4lI3skYmxvY2stbmFtZX1fX3ZpZGVvIHtcbiAgQGV4dGVuZCAlaGVyby12aWRlbztcbn1cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBAZXh0ZW5kICVoZXJvLWltYWdlO1xufVxuXG5cbiUjeyRibG9jay1uYW1lfV9fY29udGVudCB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIG1heC13aWR0aDogMzYwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgIG1hcmdpbi10b3A6IDEzMHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbSkge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gIH1cbiAgb3BhY2l0eTogMDtcbiAgLm5vLWpzICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLmFuaW1hdGUgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX3BvcHVwLW9wZW4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAvLyBAaW5jbHVkZSBpY29uLS1wbGF5O1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiA0cHg7XG4gIHdpZHRoOiAyMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMDtcbiAgLm5vLWpzICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLmFuaW1hdGUgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMDBtcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxM3B4LFxuICAgICAgKFxuICAgICAgICBzOiAxN3B4LFxuICAgICAgICBtOiAxN3B4LFxuICAgICAgKVxuICAgIClcbiAgKSk7XG5cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBzdmcge1xuICAgIC5ob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLXRpbWluZztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHN2ZyB7XG4gICAgICAuaG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gJjpiZWZvcmUge1xuICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAvLyB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nO1xuICAgIGhlaWdodDogNDJweDtcbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogNTJweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogcm93LXNwYWNpbmcoKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDhweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgaGVpZ2h0OiA4NHB4O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIHJpZ2h0OiBmbGV4LXNwYWNpbmcoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDglO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX3RpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgY29sb3I6ICRjb2xvci1lZGVuO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyMnB4LFxuICAgICAgKFxuICAgICAgICBzOiAzNnB4LFxuICAgICAgICBtOiAzNnB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fc3VidGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE3cHgsXG4gICAgICAoXG4gICAgICAgIHM6IDI1cHgsXG4gICAgICAgIG06IDI5cHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fdGV4dCB7XG4gIG1hcmdpbjogJHNwYWNpbmctbCAwIDAgMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyMnB4LFxuICAgICAgKFxuICAgICAgICBzOiAzMnB4LFxuICAgICAgICBtOiA0MHB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyO1xuICB9XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X193cmFwO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb250ZW50O1xuICB9XG4gICZfX2Fycm93IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fYXJyb3c7XG4gIH1cbiAgJl9fdmlkZW8ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X192aWRlbztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdGl0bGU7XG4gIH1cbiAgJl9fc3VidGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zdWJ0aXRsZTtcbiAgfVxuICAmX190ZXh0IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdGV4dDtcbiAgfVxuICAmX19wb3B1cC1vcGVuIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fcG9wdXAtb3BlbjtcbiAgfVxuXG59XG4iLCIkYmxvY2stbmFtZSAgICAgIDogYi1wcm9kdWN0O1xuJGJsb2NrLXNlbGVjdG9yICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19jb250YWluZXIge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lcjtcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLXByb2R1Y3QtY29udGVudDtcbiRibG9jay1zZWxlY3RvciAgIDogXCIuI3skYmxvY2stbmFtZX1cIjtcblxuJSN7JGJsb2NrLW5hbWV9IHtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWFsbW9zdC13aGl0ZTtcbn1cbiUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBAaW5jbHVkZSByb3ctc3BhY2luZztcbn1cbiUjeyRibG9jay1uYW1lfV9fY29scyB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBAaW5jbHVkZSBibG9jay1zcGFjaW5nKDEgMCAxIDAsICdwYWRkaW5nJywgJ2xhcmdlJyk7XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbC0tZmlyc3Qge1xuICBAZXh0ZW5kICV0ZXh0LS1zdW1tYXJ5O1xuICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygwIDAgMSAwLCAnbWFyZ2luJywgJ2xhcmdlJyk7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19jb2wtLXNlY29uZCB7XG4gIEBleHRlbmQgJXRleHQtLWRlZmF1bHQ7XG59XG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19jb250YWluZXIge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb250YWluZXI7XG4gIH1cbiAgJl9fY29scyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbHM7XG4gIH1cblxuICAmX19jb2wge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2w7XG4gICAgJi0tZmlyc3Qge1xuICAgICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbC0tZmlyc3Q7XG4gICAgfVxuICAgICYtLXNlY29uZCB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29sLS1zZWNvbmQ7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyAgIGAkY29sdW1uc2AgYWxzbyBhY2NlcHRzIGRlY2ltYWxzIGZvciB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGJyZWFrIG91dCBvZiB0aGUgc3RhbmRhcmQgZ3JpZC4gRS5nLiBQYXNzaW5nIGAyLjRgIGluIGEgc3RhbmRhcmQgMTIgY29sdW1uIGdyaWQgd2lsbCBkaXZpZGUgdGhlIHJvdyBpbnRvIDUgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydCBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItcHJvZHVjdC1oZWFkZXI7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiR0aXRsZS1jcm9zcy1zaXplIDogNDJweDtcbiR0aXRsZS1tYXJnaW4gICAgIDogJHRpdGxlLWNyb3NzLXNpemUgKyAxOHB4O1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcGFkZGluZy10b3A6IDQ5JTtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19maWcge1xuICBtYXJnaW46IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IHooJ2Fib3ZlJyk7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3RpdGxlcyB7XG4gIHBhZGRpbmctdG9wOiAkdGl0bGUtbWFyZ2luO1xuICBwYWRkaW5nLWxlZnQ6IHJvdy1zcGFjaW5nKCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJvdy1zcGFjaW5nKCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogcm93LXNwYWNpbmcoKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB6KCdsYXllcicpO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0b3A6ICR0aXRsZS1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IGZsZXgtc3BhY2luZygpO1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fdGl0bGUge1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAzOHB4LFxuICAgICAgKFxuICAgICAgICBzOiA0NHB4LFxuICAgICAgICBtOiA1MnB4LFxuICAgICAgICBsOiA2MHB4XG4gICAgICApXG4gICAgKVxuICApKTtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1lZGVuO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAkdGl0bGUtY3Jvc3Mtc2l6ZTtcbiAgICB0b3A6IC0kdGl0bGUtbWFyZ2luO1xuICAgIGxlZnQ6ICR0aXRsZS1jcm9zcy1zaXplIC8gMjtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6ICR0aXRsZS1jcm9zcy1zaXplO1xuICAgIHRvcDogLSR0aXRsZS1tYXJnaW4gKyAoJHRpdGxlLWNyb3NzLXNpemUgLyAyKTtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX3N1YnRpdGxlIHtcbiAgY29sb3I6ICRjb2xvci1lZGVuO1xuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4zZW07XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE1cHgsXG4gICAgICAoXG4gICAgICAgIG06IDE2cHgsXG4gICAgICAgIGw6IDE4cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X190cmFuc2xhdGlvbiB7XG4gIGNvbG9yOiAkY29sb3ItZWRlbjtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEzcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDE0cHgsXG4gICAgICAgIG06IDE1cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X19pbmZvIHtcbiAgcGFkZGluZy1sZWZ0OiByb3ctc3BhY2luZygpO1xuICBwYWRkaW5nLXJpZ2h0OiByb3ctc3BhY2luZygpO1xuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmcteGw7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXh4bDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IHJvdy1zcGFjaW5nKCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIG1hcmdpbi1yaWdodDogZmxleC1zcGFjaW5nKCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRvcDogJHNwYWNpbmctbDtcbiAgICB6LWluZGV4OiB6KCdsYXllcicpO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX3NwZWNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAkY29sb3ItZWRlbjtcbn1cbiUjeyRibG9jay1uYW1lfV9fc3BlY3MtaXRlbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIG1hcmdpbi1yaWdodDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgczogMjRweCxcbiAgICAgICAgbTogMzBweCxcbiAgICAgICAgbDogMzZweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fc3BlY3MtbGFiZWwtdG9wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBtYXJnaW4tYm90dG9tOiAoXG4gICAgICA4cHgsXG4gICAgICAoXG4gICAgICAgIG06IDEwcHhcbiAgICAgIClcbiAgICApXG4gICkpO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxN3B4LFxuICAgICAgKFxuICAgICAgICBtOiAxOXB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fc3BlY3MtbGFiZWwtYm90dG9tIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEzcHgsXG4gICAgICAoXG4gICAgICAgIHM6IDEzcHgsXG4gICAgICAgIG06IDE0cHgsXG4gICAgICAgIGw6IDE0cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X19zcGVjcy12YWx1ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJGZvbnQtc2Fucy1zZXJpZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMzZweCxcbiAgICAgIChcbiAgICAgICAgczogNDBweCxcbiAgICAgICAgbTogNDRweCxcbiAgICAgICAgbDogNDhweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIGVtIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMThweCxcbiAgICAgIChcbiAgICAgICAgczogMjBweCxcbiAgICAgICAgbTogMjJweCxcbiAgICAgICAgbDogMjRweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19wZGYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMTNweCxcbiAgICAgIChcbiAgICAgICAgczogMTNweCxcbiAgICAgICAgbTogMTRweCxcbiAgICAgICAgbDogMTRweFxuICAgICAgKVxuICAgICksXG4gICAgbWFyZ2luLXRvcDogKFxuICAgICAgJHNwYWNpbmcteHMsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLXhzLFxuICAgICAgICBtOiAkc3BhY2luZy14cyxcbiAgICAgICAgbDogJHNwYWNpbmcteHNcbiAgICAgIClcbiAgICApXG4gICkpO1xuICBAaW5jbHVkZSBpY29uLS1hcnJvdy1yaWdodDtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDRweDtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX2ZpZyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ZpZztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb250ZW50O1xuICB9XG4gICZfX3RpdGxlcyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlcztcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zdWJ0aXRsZTtcbiAgfVxuICAmX190cmFuc2xhdGlvbiB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RyYW5zbGF0aW9uO1xuICB9XG4gICZfX2luZm8ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pbmZvO1xuICB9XG4gICZfX3NwZWNzIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3BlY3M7XG4gIH1cbiAgJl9fc3BlY3MtaXRlbSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3NwZWNzLWl0ZW07XG4gIH1cbiAgJl9fc3BlY3MtbGFiZWwtdG9wIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3BlY3MtbGFiZWwtdG9wO1xuICB9XG4gICZfX3NwZWNzLWxhYmVsLWJvdHRvbSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3NwZWNzLWxhYmVsLWJvdHRvbTtcbiAgfVxuICAmX19zcGVjcy12YWx1ZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3NwZWNzLXZhbHVlO1xuICB9XG4gICZfX3BkZiB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3BkZjtcbiAgfVxuXG59XG5cbiIsIiRibG9jay1uYW1lICAgICAgIDogYi1wcm9kdWN0LWluZm9ybWF0aW9uO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4kYmxvY2stY2F0Y2gtaWNvbi1zaXplOiA1MHB4O1xuXG5cblxuXG4lI3skYmxvY2stbmFtZX0tLWxpbmstcGx1cyB7XG4gIEBleHRlbmQgJXAzLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgQGluY2x1ZGUgaWNvbi0tcGx1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLWw7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltZS8yO1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB9XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9IHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbn1cbiUjeyRibG9jay1uYW1lfV9fd3JhcCB7XG4gIEBpbmNsdWRlIGJsb2NrLXNwYWNpbmcoMSAwIDEgMCwgJ3BhZGRpbmcnLCAnbGFyZ2UnKTtcbiAgQGluY2x1ZGUgcm93LXNwYWNpbmc7XG59XG4lI3skYmxvY2stbmFtZX1fX3JvdyB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luLWJvdHRvbTogKFxuICAgICAgJHNwYWNpbmcteGwsXG4gICAgICAoXG4gICAgICAgIHM6ICRzcGFjaW5nLXhsLFxuICAgICAgICBtOiAkc3BhY2luZy14bCxcbiAgICAgICAgbDogJHNwYWNpbmcteGxcbiAgICAgIClcbiAgICApXG4gICkpO1xuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fY29sIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICAgIGZsb2F0OiBub25lO1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X190aXRsZSB7XG4gIEBleHRlbmQgJXNlY3Rpb24tdGl0bGUtLWRlZmF1bHQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG59XG5cblxuJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbCB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtbGlzdCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBjb2xvcjogJGNvbG9yLWJsdWUtc3RvbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbC1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nO1xuICAmOm50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHhzO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxMnB4LFxuICAgICAgKFxuICAgICAgICBzOiAxMnB4LFxuICAgICAgICBtOiAxM3B4LFxuICAgICAgICBsOiAxM3B4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtdmFsdWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDM5cHgsXG4gICAgICAoXG4gICAgICAgIHM6IDQzcHgsXG4gICAgICAgIG06IDQ3cHgsXG4gICAgICAgIGw6IDU1cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xuICBlbSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAyMXB4LFxuICAgICAgICAoXG4gICAgICAgICAgczogMjNweCxcbiAgICAgICAgICBtOiAyNXB4LFxuICAgICAgICAgIGw6IDI3cHhcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkpO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX251dHJpdGlvbmFsLW1vcmUge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZztcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX0tLWxpbmstcGx1cztcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbC1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fY2F0Y2gge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgcGFkZGluZy1yaWdodDogKFxuICAgICAgNjBweCxcbiAgICAgIChcbiAgICAgICAgczogNjBweCxcbiAgICAgICAgbTogNjBweCxcbiAgICAgICAgbDogNjBweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lI3skYmxvY2stbmFtZX1fX2NhdGNoLWl0ZW0ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBAZXh0ZW5kICVwMi1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRibG9jay1jYXRjaC1pY29uLXNpemU7XG59XG4lI3skYmxvY2stbmFtZX1fX2NhdGNoLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkYmxvY2stY2F0Y2gtaWNvbi1zaXplO1xuICBoZWlnaHQ6ICRibG9jay1jYXRjaC1pY29uLXNpemU7XG59XG4lI3skYmxvY2stbmFtZX1fX2NhdGNoLXZhbHVlIHtcbiAgbWFyZ2luLWxlZnQ6ICRibG9jay1jYXRjaC1pY29uLXNpemUgKyAoJHNwYWNpbmcgLSAxMCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogJGJsb2NrLWNhdGNoLWljb24tc2l6ZTtcbn1cblxuXG5cbiUjeyRibG9jay1uYW1lfV9fc2Vhc29uYWwge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luLWJvdHRvbTogKFxuICAgICAgJHNwYWNpbmctM3hsLFxuICAgICAgKFxuICAgICAgICBzOiAkc3BhY2luZy0zeGwsXG4gICAgICAgIG06ICRzcGFjaW5nLTN4bCxcbiAgICAgICAgbDogJHNwYWNpbmctM3hsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fc2Vhc29uYWwtZmlnIHtcblxufVxuJSN7JGJsb2NrLW5hbWV9X19zZWFzb25hbC1sZWdlbmQge1xuICBAZXh0ZW5kICVwNC1zaXplO1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIGR0LFxuICBkZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIH1cbiAgZHQge1xuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmcteHhzO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1lZGVuO1xuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkZmUyZTg7XG4gICAgfVxuICB9XG4gIGRkIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nO1xuICB9XG59XG5cblxuJSN7JGJsb2NrLW5hbWV9X19ncmFkZSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fZ3JhZGUtbGFiZWwge1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICA1MHB4LFxuICAgICAgKFxuICAgICAgICBzOiA1MHB4LFxuICAgICAgICBtOiA1MHB4LFxuICAgICAgICBsOiA1MHB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fZ3JhZGUtZGVzY3JpcHRpb24ge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICBtYXJnaW46ICRzcGFjaW5nLXh4cyAwIDAgMDtcbn1cbiUjeyRibG9jay1uYW1lfV9fZ3JhZGUtbW9yZSB7XG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nO1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfS0tbGluay1wbHVzO1xufVxuJSN7JGJsb2NrLW5hbWV9X19ncmFkZS1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4lI3skYmxvY2stbmFtZX1fX2V4dHJhIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4lI3skYmxvY2stbmFtZX1fX2V4dHJhLWl0ZW0ge1xuICB3aWR0aDogNTVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAkc3BhY2luZyAkc3BhY2luZyAwO1xufVxuJSN7JGJsb2NrLW5hbWV9X19leHRyYS1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuXG5cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X193cmFwO1xuICB9XG4gICZfX3JvdyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3JvdztcbiAgfVxuICAmX19jb2wge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2w7XG4gIH1cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19udXRyaXRpb25hbCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX251dHJpdGlvbmFsO1xuICAgICYtbGlzdCB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtbGlzdDtcbiAgICB9XG4gICAgJi1pdGVtIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbC1pdGVtO1xuICAgIH1cbiAgICAmLWxhYmVsIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbC1sYWJlbDtcbiAgICB9XG4gICAgJi12YWx1ZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtdmFsdWU7XG4gICAgfVxuICAgICYtbW9yZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbnV0cml0aW9uYWwtbW9yZTtcbiAgICB9XG4gIH1cbiAgJl9fbnV0cml0aW9uYWwtcG9wdXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19udXRyaXRpb25hbC1wb3B1cDtcbiAgfVxuXG4gICZfX2NhdGNoIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY2F0Y2g7XG4gICAgJi1pdGVtIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jYXRjaC1pdGVtO1xuICAgIH1cbiAgICAmLWxhYmVsIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jYXRjaC1sYWJlbDtcbiAgICB9XG4gICAgJi12YWx1ZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY2F0Y2gtdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2Vhc29uYWwge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19zZWFzb25hbDtcbiAgICAmLWZpZyB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc2Vhc29uYWwtZmlnO1xuICAgIH1cbiAgICAmLWxlZ2VuZCB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc2Vhc29uYWwtbGVnZW5kO1xuICAgIH1cbiAgfVxuXG4gICZfX2V4dHJhIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZXh0cmE7XG4gICAgJi1pdGVtIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19leHRyYS1pdGVtO1xuICAgIH1cbiAgICAmLWljb24ge1xuICAgICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2V4dHJhLWljb247XG4gICAgfVxuXG4gIH1cblxuICAgJl9fZ3JhZGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19ncmFkZTtcbiAgICAmLWxhYmVsIHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19ncmFkZS1sYWJlbDtcbiAgICB9XG4gICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZ3JhZGUtZGVzY3JpcHRpb247XG4gICAgfVxuICAgICYtbW9yZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZ3JhZGUtbW9yZTtcbiAgICB9XG4gICAgJi1wb3B1cCB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZ3JhZGUtcG9wdXA7XG4gICAgfVxuICB9XG5cblxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IFtibG9ja11cbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcblxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcblxuICBAZm9yICRpIGZyb20gMSB0byAkZ3JpZC1jb2x1bW5zKjIge1xuICAgIEBpZiBpcy1ldmVuKCRpKSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZXM7XG59XG5cbi8vIExheW91dCBkaXJlY3Rpb25cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQsICRkZWZhdWx0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiBvciB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiUlRMXCIge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRkZWZhdWx0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1mcm9tLWxheW91dCgkbGF5b3V0KSB7XG4gICRkaXJlY3Rpb246IG51bGw7XG5cbiAgQGlmIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJMVFJcIiB7XG4gICAgJGRpcmVjdGlvbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGxlZnQ7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG4gIH1cblxuICBAcmV0dXJuICRvcHBvc2l0ZS1kaXJlY3Rpb247XG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItcHJvZHVjdC1wZGY7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBwYWRkaW5nOiAoXG4gICAgICBcIiN7JHNwYWNpbmctbH0gI3skc3BhY2luZy1zfVwiLFxuICAgICAgKFxuICAgICAgICBzIDogXCIjeyRzcGFjaW5nLXhsfSAjeyRzcGFjaW5nLXN9XCIsXG4gICAgICAgIG0gOiBcIiN7JHNwYWNpbmcteGx9ICN7JHNwYWNpbmctc31cIixcbiAgICAgICAgbCA6IFwiI3skc3BhY2luZy14bH0gI3skc3BhY2luZy1zfVwiXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgbWFyZ2luOiAkc3BhY2luZyAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1uZXBhbCwgLjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuXG59XG4lI3skYmxvY2stbmFtZX1fX2xpbmsge1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmx1ZTtcbiAgY29sb3I6ICRjb2xvci1ibHVlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBleHRlbmQgJWJ1dHRvbi1yZXNldDtcbiAgQGV4dGVuZCAlcDMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICBwYWRkaW5nOiAkc3BhY2luZyAkc3BhY2luZy1sO1xuICBsaW5lLWhlaWdodDogMTtcbiAgJjphZnRlciB7XG4gICAgQGV4dGVuZCAlaWNvbi1yZXNldDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmcteHhzO1xuICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItZGFpbnRyZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZGFpbnRyZWU7XG4gIH1cbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X193cmFwO1xuICB9XG4gICZfX2xpbmsge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19saW5rO1xuICB9XG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItcHJvZHVjdC1yZWxhdGVkO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBwYWRkaW5nLWxlZnQ6IHJvdy1zcGFjaW5nKCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJvdy1zcGFjaW5nKCk7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBwYWRkaW5nLXRvcDogKFxuICAgICAgJHNwYWNpbmctbCxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLXhsLFxuICAgICAgICBtIDogJHNwYWNpbmcteHhsLFxuICAgICAgICBsIDogJHNwYWNpbmctM3hsXG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWJvdHRvbTogKFxuICAgICAgJHNwYWNpbmctbCxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLXhsLFxuICAgICAgICBtIDogJHNwYWNpbmcteHhsLFxuICAgICAgICBsIDogJHNwYWNpbmctM3hsXG4gICAgICApXG4gICAgKSxcblxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fd3JhcCB7XG5cbn1cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLXByb2R1Y3Qtc3BlY3M7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiRibG9jay1pY29uLXNpemU6IDQ4cHg7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1hbG1vc3Qtd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xufVxuJSN7JGJsb2NrLW5hbWV9X19jb250YWluZXIge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBAaW5jbHVkZSBibG9jay1zcGFjaW5nKDEgMCAxIDAsICdwYWRkaW5nJywgJ2xhcmdlJyk7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xufVxuJSN7JGJsb2NrLW5hbWV9X19yb3cge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19jb2wge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14bDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxke1xuICAgIC5iLXByb2R1Y3Qtc3BlY3NfX3RpdGxle1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVzZWN0aW9uLXRpdGxlLS1kZWZhdWx0O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2xpc3Qge1xuXG59XG4lI3skYmxvY2stbmFtZX1fX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRibG9jay1pY29uLXNpemU7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBtYXJnaW4tYm90dG9tOiAoXG4gICAgICAkc3BhY2luZy14bCxcbiAgICAgIChcbiAgICAgICAgczogJHNwYWNpbmcteGwsXG4gICAgICAgIG06ICRzcGFjaW5nLXhsLFxuICAgICAgICBsOiAkc3BhY2luZy14bFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAkYmxvY2staWNvbi1zaXplO1xuICBoZWlnaHQ6ICRibG9jay1pY29uLXNpemU7XG59XG4lI3skYmxvY2stbmFtZX1fX2RldGFpbHMge1xuICBwYWRkaW5nLWxlZnQ6ICRibG9jay1pY29uLXNpemUgKyAkc3BhY2luZztcbn1cbiUjeyRibG9jay1uYW1lfV9fZGV0YWlscy10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgQGV4dGVuZCAlcDItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xufVxuJSN7JGJsb2NrLW5hbWV9X19kZXRhaWxzLWNvbnRlbnQge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICBAZXh0ZW5kICVwMi1zaXplO1xufVxuXG5cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X193cmFwO1xuICB9XG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lcjtcbiAgfVxuICAmX19yb3cge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19yb3c7XG4gIH1cbiAgJl9fY29sIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29sO1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdGl0bGU7XG4gIH1cbiAgJl9fbGlzdCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2xpc3Q7XG4gIH1cbiAgJl9faXRlbSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2l0ZW07XG4gIH1cbiAgJl9faWNvbiB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ljb247XG4gIH1cbiAgJl9fZGV0YWlscyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2RldGFpbHM7XG4gICAgJi10aXRsZSB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZGV0YWlscy10aXRsZTtcbiAgICB9XG4gICAgJi1jb250ZW50IHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19kZXRhaWxzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItcHJvZHVjdC1uYXZpZ2F0aW9uO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuXG59XG4lI3skYmxvY2stbmFtZX1fX2xpc3Qge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1zKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAkc3BhY2luZy14eHM7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMS41KTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWxtb3N0LXdoaXRlO1xuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBleHRlbmQgJXNlY3Rpb24tdGl0bGUtLWRlZmF1bHQ7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkbGluay1jb2xvci0tcHJpbWFyeTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yLS1wcmltYXJ5LS1ob3ZlcjtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYWN0aXZlIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3ItLXByaW1hcnktLWFjdGl2ZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBwYWRkaW5nLXRvcDogNTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvci1lZGVuO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1lZGVuO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIH1cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB6LWluZGV4OiB6KCdhYm92ZScpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lLS1zbG93ICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1lO1xuICAgIH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgICAgI3skYmxvY2stc2VsZWN0b3J9X19sYWJlbCB7XG4gICAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgICAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAvLyB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IHooJ2RlZmF1bHQnKTtcbiAgfVxufVxuXG4lI3skYmxvY2stbmFtZX1fX2xhYmVsIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHotaW5kZXg6IHooJ2xheWVyJyk7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE2cHgsXG4gICAgICAoXG4gICAgICAgIHhzIDogMThweCxcbiAgICAgICAgcyAgOiAyNHB4LFxuICAgICAgICBtICA6IDI4cHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctbGVmdDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLWwsXG4gICAgICAgIG0gOiAkc3BhY2luZy14bFxuICAgICAgKVxuICAgIClcbiAgKSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1zKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgfVxuICAgIC5pcy1hY3RpdmUgJiB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgQGluY2x1ZGUgaWNvbi0tcGx1cztcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXh4cztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWUvMjtcbiAgICAgIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAgICAgZm9udC1zaXplOiAoXG4gICAgICAgICAgMjEsXG4gICAgICAgICAgKFxuICAgICAgICAgICAgcyA6IDI1cHgsXG4gICAgICAgICAgICBtIDogMjdweFxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgd2lkdGg6IChcbiAgICAgICAgICAyMXB4LFxuICAgICAgICAgIChcbiAgICAgICAgICAgIHMgOiAyNXB4LFxuICAgICAgICAgICAgbSA6IDI3cHhcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGhlaWdodDogKFxuICAgICAgICAgIDIxcHgsXG4gICAgICAgICAgKFxuICAgICAgICAgICAgcyA6IDI1cHgsXG4gICAgICAgICAgICBtIDogMjdweFxuICAgICAgICAgIClcbiAgICAgICAgKSxcblxuICAgICAgKSlcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kICVpY29uLXJlc2V0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXhzO1xuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgfVxuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuJSN7JGJsb2NrLW5hbWV9X19zdWIge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy14bDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLXRpbWluZztcbiAgJi5pcy1pbml0ZWQge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19saXN0IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGlzdDtcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFiZWw7XG4gIH1cbiAgJl9fc3ViIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3ViO1xuICB9XG5cbn1cbiIsIiRibG9jay1uYW1lICAgICAgIDogYi1wcm9kdWN0LW5hdmlnYXRpb24tdHJhZGU7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiRibG9jay1hcnJvdy1zaXplIDogNDJweDtcblxuJSN7JGJsb2NrLW5hbWV9IHtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nO1xuXG4gIC5iLXByb2R1Y3QtbmF2aWdhdGlvbl9fc3ViICYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiB6KCdhYm92ZScpO1xuICB9XG4gICYuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX2xpc3Qge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lICR0cmFuc2l0aW9uLXRpbWluZztcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbiAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX2l0ZW0ge1xuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwIDdweDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGV4dGVuZCAlc2VjdGlvbi10aXRsZS0tZGVmYXVsdDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEycHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxM3B4LFxuICAgICAgICBtIDogMTRweFxuICAgICAgKVxuICAgIClcbiAgKSlcbn1cblxuXG5cbiUjeyRibG9jay1uYW1lfV9fYXJyb3cge1xuICBAaW5jbHVkZSBpY29uLS1hcnJvdy1yaWdodDtcbiAgd2lkdGg6ICRibG9jay1hcnJvdy1zaXplO1xuICBoZWlnaHQ6ICRibG9jay1hcnJvdy1zaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIyJTtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYuc2xpY2stZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkYmxvY2stYXJyb3ctc2l6ZTtcbiAgICBoZWlnaHQ6ICRibG9jay1hcnJvdy1zaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogJGJsb2NrLWFycm93LXNpemU7XG4gIH1cbn1cbiUjeyRibG9jay1uYW1lfV9fYXJyb3ctLW5leHQge1xuICByaWdodDogLTYwcHg7XG59XG4lI3skYmxvY2stbmFtZX1fX2Fycm93LS1wcmV2IHtcbiAgbGVmdDogLTYwcHg7XG4gIC8vICY6YmVmb3JlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAvLyB9XG59XG4lI3skYmxvY2stbmFtZX1fX2RvdHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogJHNwYWNpbmctbDtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXh4cztcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19kb3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC5zbGljay1hY3RpdmUgJiB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuXG5cblxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19saXN0IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGlzdDtcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faXRlbTtcbiAgfVxuICAmX19saW5rIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGluaztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFiZWw7XG4gIH1cbiAgJl9fYXJyb3cge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19hcnJvdztcbiAgICAmLS1uZXh0IHtcbiAgICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19hcnJvdy0tbmV4dDtcbiAgICB9XG4gICAgJi0tcHJldiB7XG4gICAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fYXJyb3ctLXByZXY7XG4gICAgfVxuICB9XG4gICZfX2RvdHMge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19kb3RzO1xuICB9XG4gICZfX2RvdCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2RvdDtcbiAgfVxuXG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItc3RvcnktY29udGVudDtcbiRibG9jay1zZWxlY3RvciAgIDogXCIuI3skYmxvY2stbmFtZX1cIjtcblxuJSN7JGJsb2NrLW5hbWV9IHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG59XG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItc3RvcnktaGVhZGVyO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4kYmxvY2stYXJyb3ctc2l6ZSA6IDYwcHg7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIEBleHRlbmQgJWhlcm8tbWFpbjtcbn1cbiUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyIHtcbiAgQGV4dGVuZCAlaGVyby1jb250YWluZXI7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBAZXh0ZW5kICVoZXJvLXdyYXA7XG59XG4lI3skYmxvY2stbmFtZX1fX2Fycm93IHtcbiAgQGV4dGVuZCAlaGVyby1hcnJvdztcbn1cbiUjeyRibG9jay1uYW1lfV9fdmlkZW8ge1xuICBAZXh0ZW5kICVoZXJvLXZpZGVvO1xufVxuJSN7JGJsb2NrLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJWhlcm8taW1hZ2U7XG59XG5cblxuJSN7JGJsb2NrLW5hbWV9X19jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWF4LXdpZHRoOiAoXG4gICAgICAzMDBweCxcbiAgICAgIChcbiAgICAgICAgczogNDIwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctdG9wOiAoXG4gICAgICAxNzBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDcwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctYm90dG9tOiAoXG4gICAgICA2MHB4LFxuICAgICAgKFxuICAgICAgICBzIDogMFxuICAgICAgKVxuICAgICksXG5cbiAgKSk7XG59XG4lI3skYmxvY2stbmFtZX1fX3RpdGxlIHtcbiAgbWFyZ2luOiAuNWVtIDAgMCAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICA0MHB4LFxuICAgICAgKFxuICAgICAgICBzIDogNTVweCxcbiAgICAgICAgbSA6IDcwcHhcbiAgICAgIClcbiAgICApXG4gICkpO1xuICBvcGFjaXR5OiAwO1xuICAubm8tanMgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuYW5pbWF0ZSAmIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxufVxuJSN7JGJsb2NrLW5hbWV9X19zdWJ0aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbGV0dGVyLXNwYWNpbmc6IChcbiAgICAgIDRweCxcbiAgICAgIChcbiAgICAgICAgczogNnB4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWxlZnQ6IChcbiAgICAgIDRweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDZweCxcbiAgICAgICAgbSA6IDZweFxuICAgICAgKVxuICAgICksXG5cbiAgICBmb250LXNpemU6IChcbiAgICAgIDE2cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxOHB4LFxuICAgICAgICBtIDogMjBweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIG9wYWNpdHk6IDA7XG4gIC5uby1qcyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5hbmltYXRlICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxufVxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lcjtcbiAgfVxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fY29udGVudDtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG4gICZfX3N1YnRpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3VidGl0bGU7XG4gIH1cbiAgJl9fYXJyb3cge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19hcnJvdztcbiAgfVxuICAmX192aWRlbyB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3ZpZGVvO1xuICB9XG4gICZfX2ltYWdlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faW1hZ2U7XG4gIH1cblxuXG5cblxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLXN0b3J5LWxlZ2FsO1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuXG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIG1heC13aWR0aDogJGJyZWFrcG9pbnQtcztcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIH1cbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIG1hcmdpbi10b3A6IChcbiAgICAgIDMwcHgsXG4gICAgICAoXG4gICAgICAgIHMgOiA0MHB4LFxuICAgICAgICBtIDogNjBweFxuICAgICAgKVxuICAgICksXG4gICAgbWFyZ2luLWJvdHRvbTogKFxuICAgICAgMzBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDQwcHgsXG4gICAgICAgIG0gOiA2MHB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX3RleHQge1xuICB3aWR0aDogNzUlO1xuICBAZXh0ZW5kICVwMi1zaXplO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy1sO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgtcykge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pbWFnZTtcbiAgfVxuICAmX190ZXh0IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdGV4dDtcbiAgfVxuXG59XG5cbi8vXG4vLyAxODUgNTAwXG4iLCIkYmxvY2stbmFtZSAgICAgICA6IGItcGFnZS1jb250ZW50O1xuJGJsb2NrLXNlbGVjdG9yICAgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbn1cbiIsIiRibG9jay1uYW1lICAgICAgIDogYi1wYWdlLWhlYWRlcjtcbiRibG9jay1zZWxlY3RvciAgIDogXCIuI3skYmxvY2stbmFtZX1cIjtcblxuJGJsb2NrLWFycm93LXNpemUgOiA2MHB4O1xuXG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIEBleHRlbmQgJWhlcm8tbWFpbjtcbn1cbiUjeyRibG9jay1uYW1lfV9fY29udGFpbmVyIHtcbiAgQGV4dGVuZCAlaGVyby1jb250YWluZXI7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBAZXh0ZW5kICVoZXJvLXdyYXA7XG59XG4lI3skYmxvY2stbmFtZX1fX2Fycm93IHtcbiAgQGV4dGVuZCAlaGVyby1hcnJvdztcbn1cbiUjeyRibG9jay1uYW1lfV9fdmlkZW8ge1xuICBAZXh0ZW5kICVoZXJvLXZpZGVvO1xufVxuJSN7JGJsb2NrLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJWhlcm8taW1hZ2U7XG59XG5cbiUjeyRibG9jay1uYW1lfV9fY29udGVudCB7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWF4LXdpZHRoOiAoXG4gICAgICAzMDBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDQ3MHB4LFxuICAgICAgICBtIDogNTIwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctdG9wOiAoXG4gICAgICAxMzBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDcwcHhcbiAgICAgIClcbiAgICApLFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMjlweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDM1cHgsXG4gICAgICAgIG0gOiA0N3B4XG4gICAgICApXG4gICAgKVxuICApKTtcbiAgLm5vLW92ZXJsYXAgJiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX19jb250YWluZXIge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb250YWluZXI7XG4gIH1cbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRlbnQ7XG4gIH1cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3N1YnRpdGxlO1xuICB9XG4gICZfX2Fycm93IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fYXJyb3c7XG4gIH1cbiAgJl9fdmlkZW8ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X192aWRlbztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2ltYWdlO1xuICB9XG5cblxuXG5cbn1cbiIsIiRibG9jay1uYW1lICAgICA6IGItY29udGFjdDtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLW5lcGFsLCAuMyk7XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbn1cbiUjeyRibG9jay1uYW1lfV9fd3JhcCB7XG4gIGNvbG9yOiAkY29sb3ItZWRlbjtcbiAgQGluY2x1ZGUgcm93LXNwYWNpbmc7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBwYWRkaW5nLXRvcDogKFxuICAgICAgNDBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDgwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctYm90dG9tOiAoXG4gICAgICA0MHB4LFxuICAgICAgKFxuICAgICAgICBzIDogODBweFxuICAgICAgKVxuICAgICksXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X190aXRsZSB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDQwcHgsXG4gICAgICAoXG4gICAgICAgIHMgOiA2MHB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuI3skYmxvY2stc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX07XG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRhaW5lcjtcbiAgfVxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG59XG4iLCIkYmxvY2stbmFtZSAgICAgOiBiLWNvbnRhY3QtY29udGVudDtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fc3Rvcnkge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luLWJvdHRvbTogKFxuICAgICAgJHNwYWNpbmcteGwsXG4gICAgICAoXG4gICAgICAgIHMgOiAkc3BhY2luZy14eGwsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX19zdG9yeSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3N0b3J5O1xuICB9XG59XG4iLCIkYmxvY2stbmFtZSAgICAgOiBiLWNvbnRhY3QtZGV0YWlscztcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fbGlzdCB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fcm93IHtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIG1hcmdpbi1ib3R0b206IChcbiAgICAgICRzcGFjaW5nLXh4bCxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLTN4bCxcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X190aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogLjRlbTtcbiAgLnUtaHMge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gIH1cbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMjBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDIwcHhcbiAgICAgIClcbiAgICApLFxuICAgIG1hcmdpbi1sZWZ0OiAoXG4gICAgICAwLFxuICAgICAgKFxuICAgICAgICBtIDogLTMwcHhcbiAgICAgIClcbiAgICApLFxuXG4gICkpO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2NvbHMge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4lI3skYmxvY2stbmFtZX1fX2NvbCB7XG5cbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIG1hcmdpbi1ib3R0b206IChcbiAgICAgICRzcGFjaW5nLWwsXG4gICAgICAoXG4gICAgICAgIG06IDBcbiAgICAgIClcbiAgICApLFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMTRweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDE0cHhcbiAgICAgIClcbiAgICApLFxuICApKTtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXMpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICB9XG59XG4lI3skYmxvY2stbmFtZX1fX25hbWUge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBtYXJnaW46IDA7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE3cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxN3B4XG4gICAgICApXG4gICAgKSxcbiAgKSk7XG59XG4lI3skYmxvY2stbmFtZX1fX3Bvc2l0aW9uIHtcbiAgbWFyZ2luOiAwO1xufVxuJSN7JGJsb2NrLW5hbWV9X19lbWFpbCB7XG4gIG1hcmdpbjogLjNlbSAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxNXB4LFxuICAgICAgKFxuICAgICAgICBzIDogMTVweFxuICAgICAgKVxuICAgICksXG4gICkpO1xufVxuJSN7JGJsb2NrLW5hbWV9X19hZGRyZXNzIHtcbiAgbWFyZ2luOiAuM2VtIDA7XG59XG4lI3skYmxvY2stbmFtZX1fX3Bob25lIHtcbiAgbWFyZ2luOiAuM2VtIDA7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE1cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxNXB4XG4gICAgICApXG4gICAgKSxcbiAgKSk7XG59XG5cblxuXG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX19saXN0IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGlzdDtcbiAgfVxuICAmX19yb3cge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19yb3c7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG4gICZfX2NvbHMge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19jb2xzO1xuICB9XG4gICZfX2NvbCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbDtcbiAgfVxuICAmX19uYW1lIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbmFtZTtcbiAgfVxuICAmX19wb3NpdGlvbiB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3Bvc2l0aW9uO1xuICB9XG4gICZfX2VtYWlsIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fZW1haWw7XG4gIH1cbiAgJl9fcGhvbmUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19waG9uZTtcbiAgfVxuICAmX19hZGRyZXNzIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fYWRkcmVzcztcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgICAgOiBiLXJlbGF0ZWQ7XG4kYmxvY2stc2VsZWN0b3IgICA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fbGlzdCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgbWF4LXdpZHRoOiAxMDU2cHg7XG59XG4lI3skYmxvY2stbmFtZX1fX2l0ZW0ge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LXMpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgfVxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYWxtb3N0LXdoaXRlO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAZXh0ZW5kICVzZWN0aW9uLXRpdGxlLS1kZWZhdWx0O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xufVxuXG4lI3skYmxvY2stbmFtZX1fX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNDElO1xuICBAZXh0ZW5kICVsaW5rLXByaW1hcnk7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAjeyRibG9jay1zZWxlY3Rvcn1fX2xhYmVsIHtcbiAgICAgIC8vICY6YmVmb3JlIHtcbiAgICAgIC8vICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIC8vIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IHooJ2RlZmF1bHQnKTtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X19sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBmb250LWZhbWlseTogJGZvbnQtc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgei1pbmRleDogeignbGF5ZXInKTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMjBweCxcbiAgICAgIChcbiAgICAgICAgcyA6IDI0cHgsXG4gICAgICAgIG0gOiAyOHB4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWxlZnQ6IChcbiAgICAgICRzcGFjaW5nLFxuICAgICAgKFxuICAgICAgICBzIDogJHNwYWNpbmctbCxcbiAgICAgICAgbSA6ICRzcGFjaW5nLXhsXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgQGluY2x1ZGUgaWNvbi0tcGx1cztcbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXh4cztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltZS8yO1xuICAgIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAyMSxcbiAgICAgICAgKFxuICAgICAgICAgIHMgOiAyNXB4LFxuICAgICAgICAgIG0gOiAyN3B4XG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB3aWR0aDogKFxuICAgICAgICAyMXB4LFxuICAgICAgICAoXG4gICAgICAgICAgcyA6IDI1cHgsXG4gICAgICAgICAgbSA6IDI3cHhcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGhlaWdodDogKFxuICAgICAgICAyMXB4LFxuICAgICAgICAoXG4gICAgICAgICAgcyA6IDI1cHgsXG4gICAgICAgICAgbSA6IDI3cHhcbiAgICAgICAgKVxuICAgICAgKSxcblxuICAgICkpXG4gIH1cbiAgJjphZnRlciB7XG4gICAgQGV4dGVuZCAlaWNvbi1yZXNldDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjb250ZW50OiAkaWNvbi1hcnJvdy1yaWdodDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXhzO1xuICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltaW5nO1xuICB9XG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG4gICZfX2xpc3Qge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19saXN0O1xuICB9XG4gICZfX2l0ZW0ge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pdGVtO1xuICB9XG4gICZfX2xpbmsge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19saW5rO1xuICB9XG4gICZfX2ltYWdlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9faW1hZ2U7XG4gIH1cbiAgJl9fbGFiZWwge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19sYWJlbDtcbiAgfVxuXG5cbn1cbiIsIiRibG9jay1uYW1lICAgICA6IGItcG9wdXA7XG4kYmxvY2stc2VsZWN0b3IgOiBcIi4jeyRibG9jay1uYW1lfVwiO1xuXG4lI3skYmxvY2stbmFtZX0ge1xuICBiYWNrZ3JvdW5kOiAjZjRmN2Y4O1xuICBtYXJnaW46ICRzcGFjaW5nLWwgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuJSN7JGJsb2NrLW5hbWV9LS1udXRyaXRpb25hbCB7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG4lI3skYmxvY2stbmFtZX0tLWdyYWRlIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X193cmFwIHtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIHBhZGRpbmc6IChcbiAgICAgIFwiI3skc3BhY2luZy14bH1cIixcbiAgICAgIChcbiAgICAgICAgcyA6IFwiI3skc3BhY2luZy14bH1cIixcbiAgICAgICAgbSA6IFwiI3skc3BhY2luZy14bH1cIixcbiAgICAgICAgbCA6IFwiI3skc3BhY2luZy14bH1cIlxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG5cbiN7JGJsb2NrLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9O1xuICAmLS1udXRyaXRpb25hbCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX0tLW51dHJpdGlvbmFsO1xuICB9XG4gICYtLWdyYWRlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfS0tZ3JhZGU7XG4gIH1cblxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fd3JhcDtcbiAgfVxufVxuIiwiJGJsb2NrLW5hbWUgICAgIDogYi1udXRyaXRpb25hbC1wb3B1cDtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVzZWN0aW9uLXRpdGxlLS1kZWZhdWx0O1xuICBtYXJnaW46IDA7XG59XG4lI3skYmxvY2stbmFtZX1fX2Rlc2NyaXB0aW9uIHtcbiAgQGV4dGVuZCAldGV4dC0tcHJpbWFyeS1saWdodDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuJSN7JGJsb2NrLW5hbWV9X190YWJsZSB7XG5cbn1cbiUjeyRibG9jay1uYW1lfV9fcm93IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4lI3skYmxvY2stbmFtZX1fX2xhYmVsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIEBleHRlbmQgJXRleHQtLWRlZmF1bHQtbGlnaHQ7XG59XG4lI3skYmxvY2stbmFtZX1fX3ZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAZXh0ZW5kICV0ZXh0LS1kZWZhdWx0LWxpZ2h0O1xufVxuXG5cblxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2Rlc2NyaXB0aW9uO1xuICB9XG4gICZfX3RhYmxlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fdGFibGU7XG4gIH1cbiAgJl9fcm93IHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fcm93O1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fbGFiZWw7XG4gIH1cbiAgJl9fdmFsdWUge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X192YWx1ZTtcbiAgfVxuXG59XG4iLCIkYmxvY2stbmFtZSAgICAgOiBiLTQwNDtcbiRibG9jay1zZWxlY3RvciA6IFwiLiN7JGJsb2NrLW5hbWV9XCI7XG5cbiUjeyRibG9jay1uYW1lfSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgbWluLWhlaWdodDogNDAwcHg7XG59XG4lI3skYmxvY2stbmFtZX1fX3dyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IHooJ2Fib3ZlJyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgQGluY2x1ZGUgcm93LXNwYWNpbmc7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDIwJTtcbn1cbiUjeyRibG9jay1uYW1lfV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgei1pbmRleDogeignZGVmYXVsdCcpO1xufVxuJSN7JGJsb2NrLW5hbWV9X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zLXNlcmlmO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAzMnB4LFxuICAgICAgKFxuICAgICAgICBzIDogNTJweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lI3skYmxvY2stbmFtZX1fX3N1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDI0cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAzNnB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRibG9jay1uYW1lfV9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IC41ZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xuICBAZXh0ZW5kICVwMi1zaXplO1xuXG4gIGEge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICB9XG4gIH1cbn1cblxuXG4jeyRibG9jay1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfTtcbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBleHRlbmQgJSN7JGJsb2NrLW5hbWV9X19pbWFnZTtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX3RpdGxlO1xuICB9XG4gICZfX3N1YnRpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRibG9jay1uYW1lfV9fc3VidGl0bGU7XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skYmxvY2stbmFtZX1fX2NvbnRlbnQ7XG4gIH1cbn1cbiIsIiVtb2R1bGUtdGV4dC0tZGVmYXVsdCB7XG4gIGNvbG9yOiAkY29sb3ItZWRlbjtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIG1hcmdpbi10b3A6IChcbiAgICAgICRzcGFjaW5nLWwsXG4gICAgICAoXG4gICAgICAgIHMgOiAkc3BhY2luZy1sXG4gICAgICApXG4gICAgKSxcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE1cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxNXB4LFxuICAgICAgICBtIDogMTVweCxcbiAgICAgICAgbCA6IDE3cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJW1vZHVsZS10ZXh0LS1saWdodCB7XG4gIEBleHRlbmQgJW1vZHVsZS10ZXh0LS1kZWZhdWx0O1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xufVxuXG5cblxuJW1vZHVsZS1oZWFkZXItdGl0bGUtLWRlZmF1bHQge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIG1hcmdpbjogMDtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIGZvbnQtc2l6ZTogKFxuICAgICAgMjlweCxcbiAgICAgIChcbiAgICAgICAgbSA6IDQ1cHgsXG4gICAgICAgIHMgOiAzN3B4LFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lbW9kdWxlLWhlYWRlci1zdWJ0aXRsZS0tZGVmYXVsdCB7XG4gIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyMHB4LFxuICAgICAgKFxuICAgICAgICBtIDogMzBweCxcbiAgICAgICAgcyA6IDI0cHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiVtb2R1bGUtaGVhZGVyLXRpdGxlLS1sYXJnZSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAzNnB4LFxuICAgICAgKFxuICAgICAgICBzIDogNDRweCxcbiAgICAgICAgbSA6IDYwcHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiVtb2R1bGUtaGVhZGVyLXN1YnRpdGxlLS1sYXJnZSB7XG4gIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyNHB4LFxuICAgICAgKFxuICAgICAgICBzIDogMzBweCxcbiAgICAgICAgbSA6IDM2cHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuJW1vZHVsZS1oZWFkZXItdGl0bGUtLXRvcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRjb2xvci1lZGVuO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDIycHgsXG4gICAgICAoXG4gICAgICAgIG06IDI2cHgsXG4gICAgICAgIHM6IDIycHgsXG4gICAgICApXG4gICAgKSxcbiAgICBtYXJnaW4tYm90dG9tOiAoXG4gICAgICAkc3BhY2luZy1sLFxuICAgICAgKFxuICAgICAgICBzOiAkc3BhY2luZy1sLFxuICAgICAgICBtOiAkc3BhY2luZy14bCxcbiAgICAgICAgbDogJHNwYWNpbmcteGxcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuXG5cblxuJW1vZHVsZS1oZWFkZXItdGl0bGUtLXNhbnMge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnM7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE5cHgsXG4gICAgICAoXG4gICAgICAgIG0gOiAyMHB4LFxuICAgICAgICBsIDogMjJweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG5cblxuXG5cblxuJW1vZHVsZS1hcnJvdy0tZGVmYXVsdCB7XG5cbiAgJGFycm93LXNpemUgICAgICAgICA6IDMycHg7XG4gICRhcnJvdy1zaXplLS1sICAgICAgOiA0NHB4O1xuXG4gICRhcnJvdy1mb250LXNpemUgICAgOiAxNHB4O1xuICAkYXJyb3ctZm9udC1zaXplLS1sIDogMThweDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBpY29uLS1hcnJvdy1yaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgd2lkdGg6IChcbiAgICAgICAgJGFycm93LXNpemUsXG4gICAgICAgIChcbiAgICAgICAgICBtIDogJGFycm93LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGhlaWdodDogKFxuICAgICAgICAkYXJyb3ctc2l6ZSxcbiAgICAgICAgKFxuICAgICAgICAgIG0gOiAkYXJyb3ctc2l6ZS0tbFxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbGluZS1oZWlnaHQ6IChcbiAgICAgICAgJGFycm93LXNpemUsXG4gICAgICAgIChcbiAgICAgICAgICBtIDogJGFycm93LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGZvbnQtc2l6ZTogKFxuICAgICAgICAkYXJyb3ctZm9udC1zaXplLFxuICAgICAgICAoXG4gICAgICAgICAgbSA6ICRhcnJvdy1mb250LXNpemUtLWxcbiAgICAgICAgKVxuICAgICAgKSxcblxuICAgICkpO1xuICB9XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBtYXJnaW4tdG9wOiAoXG4gICAgICAkc3BhY2luZyxcbiAgICAgIChcbiAgICAgICAgcyA6ICRzcGFjaW5nLFxuICAgICAgICBtIDogJHNwYWNpbmcteGwsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuXG5cbiVtb2R1bGUtaW1hZ2UtLWRlZmF1bHQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG5cblxuJW1vZHVsZS1ib3R0b20tbGFiZWwtLWRlZmF1bHQge1xudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbmNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbmxldHRlci1zcGFjaW5nOiAzcHg7XG5AaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gIGZvbnQtc2l6ZTogKFxuICAgIDEzcHgsXG4gICAgKFxuICAgICAgcyA6IDE0cHgsXG4gICAgICBtIDogMTZweCxcbiAgICApXG4gICksXG4gIG1hcmdpbi10b3A6IChcbiAgICAkc3BhY2luZy1zLFxuICAgIChcbiAgICAgIHMgOiAkc3BhY2luZyxcbiAgICAgIG0gOiAkc3BhY2luZy1sLFxuICAgIClcbiAgKVxuKSk7XG59XG5cblxuXG5cblxuXG4lbW9kdWxlLWJ1dHRvbi0tY29tbW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAZXh0ZW5kICVidXR0b24tcmVzZXQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgcGFkZGluZzogJHNwYWNpbmcteHMgJHNwYWNpbmc7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctcyAkc3BhY2luZy1sO1xuICB9XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAmOmFmdGVyIHtcbiAgICBAZXh0ZW5kICVpY29uLXJlc2V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy14eHM7XG5cbiAgfVxufVxuXG5cblxuJW1vZHVsZS1idXR0b24tLWRlZmF1bHQge1xuICBAZXh0ZW5kICVtb2R1bGUtYnV0dG9uLS1jb21tb247XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibHVlLWxpZ2h0O1xuICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE0cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxNnB4XG4gICAgICApXG4gICAgKVxuICApKTtcbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWRhaW50cmVlO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhaW50cmVlO1xuICB9XG59XG5cbiVtb2R1bGUtYnV0dG9uLS1sYXJnZSB7XG4gIEBleHRlbmQgJW1vZHVsZS1idXR0b24tLWNvbW1vbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxNHB4LFxuICAgICAgKFxuICAgICAgICBzIDogMTZweCxcbiAgICAgICAgbSA6IDIwcHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuIiwiJG1vZHVsZS1uYW1lICAgICAgIDogbS1wcm9kdWN0LW5hdmlnYXRpb247XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXRpdGxlLS10b3A7XG59XG4jeyRtb2R1bGUtc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9O1xuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190aXRsZTtcbiAgfVxufVxuIiwiJG1vZHVsZS1uYW1lICAgICAgIDogbS1mdWxsLWhlcm87XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG5cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3dyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50IHtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIHBhZGRpbmctdG9wOiAoXG4gICAgICA2MHB4LFxuICAgICAgKFxuICAgICAgICBzIDogODBweCxcbiAgICAgICAgbSA6IDEwMHB4LFxuICAgICAgICBsIDogMTIwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctYm90dG9tOiAoXG4gICAgICA2MHB4LFxuICAgICAgKFxuICAgICAgICBzIDogODBweCxcbiAgICAgICAgbSA6IDEwMHB4LFxuICAgICAgICBsIDogMTIwcHhcbiAgICAgIClcbiAgICApLFxuICAgIHdpZHRoOiAoXG4gICAgICAxMDAlLFxuICAgICAgKFxuICAgICAgICAvLyB4cyA6IDYwJSxcbiAgICAgICAgcyAgOiA0MCUsXG4gICAgICAgIG0gIDogZmxleC1ncmlkKDMsIDEyKSArIGZsZXgtZ3V0dGVyKDEyKSxcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fY29udGVudC0tbGVmdCB7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBtYXJnaW4tbGVmdDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgcyA6IHJvdy1zcGFjaW5nKCksXG4gICAgICAgIG0gIDogZmxleC1zcGFjaW5nKClcbiAgICAgIClcbiAgICApLFxuICAgIHBhZGRpbmctbGVmdDogKFxuICAgICAgNCUsXG4gICAgICAoXG4gICAgICAgIHMgOiAwXG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLXJpZ2h0OiAoXG4gICAgICA0JSxcbiAgICAgIChcbiAgICAgICAgcyA6IDBcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fY29udGVudC0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBtYXJnaW4tcmlnaHQ6IChcbiAgICAgIDAsXG4gICAgICAoXG4gICAgICAgIHMgOiByb3ctc3BhY2luZygpLFxuICAgICAgICBtICA6IGZsZXgtc3BhY2luZygpXG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWxlZnQ6IChcbiAgICAgIDQlLFxuICAgICAgKFxuICAgICAgICBzIDogMFxuICAgICAgKVxuICAgICksXG4gICAgcGFkZGluZy1yaWdodDogKFxuICAgICAgNCUsXG4gICAgICAoXG4gICAgICAgIHMgOiAwXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXRpdGxlLS1kZWZhdWx0O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fc3VidGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXN1YnRpdGxlLS1kZWZhdWx0O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGV4dCB7XG4gIEBleHRlbmQgJW1vZHVsZS10ZXh0LS1kZWZhdWx0O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fZmlnIHtcbiAgbWFyZ2luOiAwO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9faW1hZ2Uge1xuICBAZXh0ZW5kICVtb2R1bGUtaW1hZ2UtLWRlZmF1bHQ7XG59XG5cbiUjeyRtb2R1bGUtbmFtZX1fX2Fycm93IHtcbiAgQGV4dGVuZCAlbW9kdWxlLWFycm93LS1kZWZhdWx0O1xufVxuXG4jeyRtb2R1bGUtc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9O1xuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19zdWJ0aXRsZTtcbiAgfVxuICAmX190ZXh0IHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3RleHQ7XG4gIH1cbiAgJl9fZmlnIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZztcbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19pbWFnZTtcbiAgfVxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50O1xuICAgICYtLWxlZnQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19hcnJvdyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19hcnJvdztcbiAgfVxufVxuIiwiJG1vZHVsZS1uYW1lICAgICAgIDogbS0zLTQtaGVybztcbiRtb2R1bGUtc2VsZWN0b3IgICA6IFwiLiN7JG1vZHVsZS1uYW1lfVwiO1xuXG4lI3skbW9kdWxlLW5hbWV9IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1tKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByb3ctc3BhY2luZygpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJvdy1zcGFjaW5nKCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3dyYXAge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyLjUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLWxlZnQge1xuICByaWdodDogMDtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIHBhZGRpbmctbGVmdDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgcyA6IHJvdy1zcGFjaW5nKCksXG4gICAgICAgIGwgOiAkc3BhY2luZ1xuICAgICAgKVxuICAgICksXG4gICAgcGFkZGluZy1yaWdodDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgcyA6IHJvdy1zcGFjaW5nKCksXG4gICAgICAgIGwgOiBmbGV4LXNwYWNpbmcoKVxuICAgICAgKVxuICAgIClcbiAgKSk7XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1yaWdodCB7XG4gIGxlZnQ6IDA7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBwYWRkaW5nLXJpZ2h0OiAoXG4gICAgICAwLFxuICAgICAgKFxuICAgICAgICBzIDogcm93LXNwYWNpbmcoKSxcbiAgICAgICAgbCA6ICRzcGFjaW5nXG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nLWxlZnQ6IChcbiAgICAgIDAsXG4gICAgICAoXG4gICAgICAgIHMgOiByb3ctc3BhY2luZygpLFxuICAgICAgICBsIDogZmxleC1zcGFjaW5nKClcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuXG4lI3skbW9kdWxlLW5hbWV9X19maWcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMzklO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hbG1vc3Qtd2hpdGU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWw7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS14cykge1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhsO1xuICB9XG4gIHBhZGRpbmctdG9wOiA1MCU7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgcGFkZGluZy10b3A6IDM5JTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzLjUpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19maWctLWxlZnQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2ZpZy0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gIH1cbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXRpdGxlLS1kZWZhdWx0O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fc3VidGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXN1YnRpdGxlLS1kZWZhdWx0O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGV4dCB7XG4gIEBleHRlbmQgJW1vZHVsZS10ZXh0LS1kZWZhdWx0O1xufVxuXG4lI3skbW9kdWxlLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJW1vZHVsZS1pbWFnZS0tZGVmYXVsdDtcbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fYXJyb3cge1xuICBAZXh0ZW5kICVtb2R1bGUtYXJyb3ctLWRlZmF1bHQ7XG59XG5cblxuI3skbW9kdWxlLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGU7XG4gIH1cbiAgJl9fc3VidGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fc3VidGl0bGU7XG4gIH1cbiAgJl9fdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190ZXh0O1xuICB9XG4gICZfX2ZpZyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19maWc7XG4gICAgJi0tbGVmdCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy0tbGVmdDtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19maWctLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19pbWFnZTtcbiAgfVxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50O1xuICAgICYtLWxlZnQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19hcnJvdyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19hcnJvdztcbiAgfVxuXG59XG4iLCIkbW9kdWxlLW5hbWUgICAgICAgOiBtLWludHJvLW5ld3M7XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgcGFkZGluZy1sZWZ0OiBmbGV4LXNwYWNpbmcoKTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyMXB4LFxuICAgICAgKFxuICAgICAgICBzIDogMjlweCxcbiAgICAgICAgbSA6IDM1cHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlLXdyYXAge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogeignYWJvdmUnKTtcbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWwge1xuICBAZXh0ZW5kICVtb2R1bGUtYm90dG9tLWxhYmVsLS1kZWZhdWx0O1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LW0pIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG5cbiUjeyRtb2R1bGUtbmFtZX1fX2ZpZyB7XG4gIG1hcmdpbjogMDtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2ltYWdlIHtcbiAgQGV4dGVuZCAlbW9kdWxlLWltYWdlLS1kZWZhdWx0O1xufVxuXG4lI3skbW9kdWxlLW5hbWV9X193cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgdG9wOiAoXG4gICAgICAtNDJweCxcbiAgICAgIChcbiAgICAgICAgcyA6IC01NXB4LFxuICAgICAgICBtIDogLTcwcHgsXG4gICAgICApXG4gICAgKSxcbiAgICBtYXJnaW4tYm90dG9tOiAoXG4gICAgICAtNDJweCxcbiAgICAgIChcbiAgICAgICAgcyA6IC01NXB4LFxuICAgICAgICBtIDogLTcwcHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICB6LWluZGV4OiB6KCdkZWZhdWx0Jyk7XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgfVxufVxuXG5cbiUjeyRtb2R1bGUtbmFtZX1fX25ld3Mge1xuICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1tKSB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctbDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBwYWRkaW5nLWxlZnQ6IChcbiAgICAgICRzcGFjaW5nLWwsXG4gICAgICAoXG4gICAgICAgIHMgOiAkc3BhY2luZy1sLFxuICAgICAgICBtIDogJHNwYWNpbmcteHhsLFxuICAgICAgICBsIDogJHNwYWNpbmctM3hsLFxuICAgICAgKVxuICAgICksXG4gICAgcGFkZGluZy10b3A6IChcbiAgICAgICRzcGFjaW5nLWwsXG4gICAgICAoXG4gICAgICAgIHMgOiAkc3BhY2luZy1sLFxuICAgICAgICBtIDogJHNwYWNpbmcteGwsXG4gICAgICAgIGwgOiAkc3BhY2luZy14eGwsXG4gICAgICApXG4gICAgKSxcbiAgKSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoIDMyNXB4KSB7XG4gICAgbWFyZ2luLXRvcDo1MHB4O1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19uZXdzLWxpbmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gIG9wYWNpdHk6IC44O1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbGVmdDogKFxuICAgICAgMCxcbiAgICAgIChcbiAgICAgICAgcyA6IDAsXG4gICAgICAgIG0gOiAkc3BhY2luZy1sLFxuICAgICAgICBsIDogJHNwYWNpbmcteGwsXG4gICAgICApXG4gICAgKSxcbiAgKSk7XG59XG4lI3skbW9kdWxlLW5hbWV9X19uZXdzLXdyYXAge1xuICBtYXgtd2lkdGg6IDI3MHB4O1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy1sYWJlbDEge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxNXB4LFxuICAgICAgKFxuICAgICAgICBzOiAxN3B4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX25ld3MtbGFiZWwyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDE1cHgsXG4gICAgICAoXG4gICAgICAgIHM6IDE3cHhcbiAgICAgIClcbiAgICApLFxuICAgIG1hcmdpbi1ib3R0b206IChcbiAgICAgIDE4cHgsXG4gICAgICAoXG4gICAgICAgIHM6IDI0cHhcbiAgICAgIClcbiAgICApXG4gICkpO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy1sYWJlbDMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IC43NTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDkwcHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxMDBweCxcbiAgICAgICAgbSA6IDExMHB4LFxuICAgICAgICBsIDogMTIwcHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX25ld3MtY29udGVudCB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxNHB4LFxuICAgICAgKFxuICAgICAgICBzOiAxNXB4XG4gICAgICApXG4gICAgKVxuICApKTtcbn1cblxuXG5cbiN7JG1vZHVsZS1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX07XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlO1xuICAgICYtd3JhcCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlLXdyYXA7XG4gICAgfVxuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsO1xuICB9XG4gICZfX2ZpZyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19maWc7XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9faW1hZ2U7XG4gIH1cbiAgJl9fd3JhcCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X193cmFwO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fY29udGVudDtcbiAgfVxuICAmX19uZXdzIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX25ld3M7XG4gICAgJi13cmFwIHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy13cmFwO1xuICAgIH1cbiAgICAmLWxpbmUge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19uZXdzLWxpbmU7XG4gICAgfVxuICAgICYtbGFiZWwxIHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy1sYWJlbDE7XG4gICAgfVxuICAgICYtbGFiZWwyIHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy1sYWJlbDI7XG4gICAgfVxuICAgICYtbGFiZWwzIHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbmV3cy1sYWJlbDM7XG4gICAgfVxuICAgICYtY29udGVudCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX25ld3MtY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIiRtb2R1bGUtbmFtZSAgICAgICA6IG0taW50cm87XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG4gIEBpbmNsdWRlIHJvdy1zcGFjaW5nO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwMCUgLTEwMDAlO1xufVxuJSN7JG1vZHVsZS1uYW1lfS0tbGVmdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX0tLXJpZ2h0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG4gIH1cbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgcGFkZGluZy1sZWZ0OiBmbGV4LXNwYWNpbmcoKTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAyMXB4LFxuICAgICAgKFxuICAgICAgICBzIDogMjlweCxcbiAgICAgICAgbSA6IDM1cHgsXG4gICAgICApXG4gICAgKVxuICApKTtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlLS1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoNCk7XG4gIH1cbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUtd3JhcCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiB6KCdhYm92ZScpO1xufVxuXG4lI3skbW9kdWxlLW5hbWV9X19sYWJlbCB7XG4gIEBleHRlbmQgJW1vZHVsZS1ib3R0b20tbGFiZWwtLWRlZmF1bHQ7XG59XG4lI3skbW9kdWxlLW5hbWV9X19sYWJlbC0tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAtM3B4O1xufVxuXG4lI3skbW9kdWxlLW5hbWV9X19maWcge1xuICBtYXJnaW46IDA7XG59XG4lI3skbW9kdWxlLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJW1vZHVsZS1pbWFnZS0tZGVmYXVsdDtcbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgIHRvcDogKFxuICAgICAgLTQycHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAtNTVweCxcbiAgICAgICAgbSA6IC03MHB4LFxuICAgICAgKVxuICAgICksXG4gICAgbWFyZ2luLWJvdHRvbTogKFxuICAgICAgLTQycHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAtNTVweCxcbiAgICAgICAgbSA6IC03MHB4LFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgei1pbmRleDogeignZGVmYXVsdCcpO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fY29udGVudCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoNCk7XG4gIH1cbn1cblxuI3skbW9kdWxlLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfTtcbiAgJi0tbGVmdCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9LS1sZWZ0O1xuICB9XG4gICYtLXJpZ2h0IHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX0tLXJpZ2h0O1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGU7XG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190aXRsZS0tcmlnaHQ7XG4gICAgfVxuICAgICYtd3JhcCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlLXdyYXA7XG4gICAgfVxuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsO1xuICAgICYtLXJpZ2h0IHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWwtLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19maWcge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fZmlnO1xuICB9XG4gICZfX2ltYWdlIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQ7XG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1yaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyBbMV1cbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCIkbW9kdWxlLW5hbWUgICAgICAgOiBtLW9yZ2FuaWM7XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1sKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByb3ctc3BhY2luZygpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJvdy1zcGFjaW5nKCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNTYlO1xuICB9XG59XG5cblxuJSN7JG1vZHVsZS1uYW1lfV9fc2lkZSB7XG4gIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKCRjb2xvci1ibHVlLWxpZ2h0LCAuOCk7XG4gIHBhZGRpbmctbGVmdDogJHNwYWNpbmc7XG4gIHdpZHRoOiA2MCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXRvcDogJHNwYWNpbmcteGw7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS14cykge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXh4bDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogeignYWJvdmUnKTtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmcteGw7XG4gICAgd2lkdGg6IDIyJTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMTIwMHB4KSB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXh4bDtcbiAgICB3aWR0aDogMTglO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAxMzAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctM3hsO1xuICAgIHdpZHRoOiAxOCU7XG4gIH1cblxufVxuJSN7JG1vZHVsZS1uYW1lfV9fc2lkZS0tbGVmdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcmlnaHQ6IGZsZXgtc3BhY2luZygpXG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3NpZGUtLXJpZ2h0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICBsZWZ0OiBmbGV4LXNwYWNpbmcoKVxuICB9XG59XG5cblxuXG5cbiUjeyRtb2R1bGUtbmFtZX1fX3NpZGUtbGFiZWwge1xuICBsaW5lLWhlaWdodDogLjg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiA1MHB4O1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEteHMpIHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW0pIHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICBmb250LXNpemU6IDkwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDEzMDBweCkge1xuICAgIGZvbnQtc2l6ZTogOTZweDtcbiAgfVxufVxuJSN7JG1vZHVsZS1uYW1lfV9fc2lkZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXhzKSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cblxuXG4lI3skbW9kdWxlLW5hbWV9X19sYWJlbHMge1xuICBtYXJnaW4tdG9wOiAkc3BhY2luZy1sO1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEteHMpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IHooJ2Fib3ZlJyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2xhYmVscy0tbGVmdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgbGVmdDogZmxleC1zcGFjaW5nKClcbiAgfVxufVxuJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWxzLS1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcmlnaHQ6IGZsZXgtc3BhY2luZygpXG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsLWZpcnN0IHtcbiAgQGV4dGVuZCAlbW9kdWxlLWhlYWRlci10aXRsZS0tbGFyZ2U7XG59XG4lI3skbW9kdWxlLW5hbWV9X19sYWJlbC1zZWNvbmQge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXN1YnRpdGxlLS1sYXJnZTtcbn1cblxuXG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXhzKSB7XG4gICAgd2lkdGg6IGZsZXgtZ3JpZCg1KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy1sO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1zKSB7XG5cbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHdpZHRoOiBmbGV4LWdyaWQoMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjklO1xuICAgIHotaW5kZXg6IHooJ2ZpeGVkJyk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLWxlZnQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGxlZnQ6IGZsZXgtc3BhY2luZygpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLFxuICB9XG4gIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAxMjAwcHgpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy14eGwsXG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLXJpZ2h0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLWwpIHtcbiAgICByaWdodDogZmxleC1zcGFjaW5nKCk7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZyxcbiAgfVxuICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMTIwMHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy14eGwsXG4gIH1cbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXRpdGxlLS1zYW5zO1xuXG4gIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCAzNDBweCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGV4dCB7XG4gIEBleHRlbmQgJW1vZHVsZS10ZXh0LS1saWdodDtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2ZpZy13aWRlIHtcbiAgbWFyZ2luOiAwIDAgJHNwYWNpbmctbDtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXhzKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiBmbGV4LWdyaWQoNik7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgd2lkdGg6IGZsZXgtZ3JpZCg0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogeignYWJvdmUnKTtcbiAgICBib3R0b206IDI5JTtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogNCAqIChmbGV4LWdyaWQoMSkgKyBmbGV4LWd1dHRlcigpKTtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuJSN7JG1vZHVsZS1uYW1lfV9fZmlnLXRhbGwge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbWF4LWwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB6KCdhYm92ZScpO1xuICAgIHdpZHRoOiBmbGV4LWdyaWQoMyk7XG4gICAgYm90dG9tOiA2MHB4O1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19maWctdGFsbC0tbGVmdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1sKSB7XG4gICAgcmlnaHQ6IGZsZXgtc3BhY2luZygpO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19maWctdGFsbC0tcmlnaHQge1xuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbCkge1xuICAgIGxlZnQ6IGZsZXgtc3BhY2luZygpO1xuICB9XG59XG5cbiUjeyRtb2R1bGUtbmFtZX1fX2ltYWdlIHtcbiAgQGV4dGVuZCAlbW9kdWxlLWltYWdlLS1kZWZhdWx0O1xufVxuXG5cbiN7JG1vZHVsZS1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX07XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fd3JhcDtcbiAgfVxuXG4gICZfX3NpZGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fc2lkZTtcbiAgICAmLS1sZWZ0IHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fc2lkZS0tbGVmdDtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19zaWRlLS1yaWdodDtcbiAgICB9XG4gICAgJi1sYWJlbCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3NpZGUtbGFiZWw7XG4gICAgfVxuICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19zaWRlLWRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxuICAmX19sYWJlbHMge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWxzO1xuICAgICYtLWxlZnQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19sYWJlbHMtLWxlZnQ7XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWxzLS1yaWdodDtcbiAgICB9XG4gIH1cbiAgJl9fbGFiZWwtZmlyc3Qge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWwtZmlyc3Q7XG4gIH1cbiAgJl9fbGFiZWwtc2Vjb25kIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsLXNlY29uZDtcbiAgfVxuXG5cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50O1xuICAgICYtLWxlZnQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX190ZXh0IHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3RleHQ7XG4gIH1cbiAgJl9fZmlnLXdpZGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fZmlnLXdpZGU7XG4gICAgJi0tbGVmdCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy13aWRlLS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy13aWRlLS1yaWdodDtcbiAgICB9XG4gIH1cbiAgJl9fZmlnLXRhbGwge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fZmlnLXRhbGw7XG4gICAgJi0tbGVmdCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy10YWxsLS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy10YWxsLS1yaWdodDtcbiAgICB9XG4gIH1cbiAgJl9faW1hZ2Uge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9faW1hZ2U7XG4gIH1cbn1cbiIsIiRtb2R1bGUtbmFtZSAgICAgICA6IG0tY29weS1oZXJvLWNlbnRlcjtcbiRtb2R1bGUtc2VsZWN0b3IgICA6IFwiLiN7JG1vZHVsZS1uYW1lfVwiO1xuXG4lI3skbW9kdWxlLW5hbWV9IHtcblxufVxuJSN7JG1vZHVsZS1uYW1lfV9fd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0LWdyZXk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgcGFkZGluZzogMTAlIDA7XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC1zKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4JTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtcykge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaWEtbSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICBAaW5jbHVkZSBzaGlmdCgyLjUpO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X190ZXh0IHtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXNhbnMtc2VyaWY7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDI0cHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAyOHB4LFxuICAgICAgICBtIDogMzJweFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuI3skbW9kdWxlLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfTtcbiAgJl9fdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190ZXh0O1xuICB9XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQ7XG4gIH1cbn1cbiIsIiRtb2R1bGUtbmFtZSAgICAgICA6IG0td2F5ZmluZGluZztcbiRtb2R1bGUtc2VsZWN0b3IgICA6IFwiLiN7JG1vZHVsZS1uYW1lfVwiO1xuXG4kYmxvY2stbWVkaWEtcyAgICAgIDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICRicmVha3BvaW50LXMgIDEyKTtcbiRibG9jay1tZWRpYS1tICAgICAgOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJGJyZWFrcG9pbnQtbSAgMTIpO1xuXG4kYmxvY2stbWVkaWEtbWF4LXMgIDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoICRicmVha3BvaW50LXhzLW1heCAgMTIpO1xuJGJsb2NrLW1lZGlhLW1heC1tICA6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAkYnJlYWtwb2ludC1zLW1heCAgIDEyKTtcblxuXG5cbiUjeyRtb2R1bGUtbmFtZX0ge1xuICBAaW5jbHVkZSBtZWRpYSgkYmxvY2stbWVkaWEtbWF4LW0pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJvdy1zcGFjaW5nKCk7XG4gICAgcGFkZGluZy1yaWdodDogcm93LXNwYWNpbmcoKTtcbiAgfVxufVxuJSN7JG1vZHVsZS1uYW1lfV9fd3JhcCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fY29udGVudCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtbSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkYmxvY2stbWVkaWEtbSkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtcykge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJsb2NrLW1lZGlhLXMpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IHooJ2Fib3ZlJyk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLWxlZnQge1xuICBAaW5jbHVkZSBtZWRpYSgkYmxvY2stbWVkaWEtbSkge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDcpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtbSkge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDYpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtcykge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDApO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1yaWdodCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJGJsb2NrLW1lZGlhLW1heC1zKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3RpdGxlIHtcbiAgQGV4dGVuZCAlbW9kdWxlLWhlYWRlci10aXRsZS0tc2Fucztcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3RleHQge1xuICBAZXh0ZW5kICVtb2R1bGUtdGV4dC0tZGVmYXVsdDtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2ZpZyB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWxtb3N0LXdoaXRlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBAaW5jbHVkZSBtZWRpYSgkYmxvY2stbWVkaWEtbWF4LW0pIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgcGFkZGluZy10b3A6IDQyJTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkYmxvY2stbWVkaWEtbSkge1xuICAgIHBhZGRpbmctdG9wOiAzMiU7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGJsb2NrLW1lZGlhLW1heC1zKSB7XG4gICAgcGFkZGluZy10b3A6IDM2JTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1sO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19maWctLWxlZnQge1xuICAvLyBtYXJnaW4tcmlnaHQ6IDA7XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJGJsb2NrLW1lZGlhLW1heC1zKSB7XG4gICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gIH1cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2ZpZy0tcmlnaHQge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtbSkge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDUpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIHNoaWZ0KDQpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRibG9jay1tZWRpYS1tYXgtcykge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDApO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJW1vZHVsZS1pbWFnZS0tZGVmYXVsdDtcbn1cblxuJSN7JG1vZHVsZS1uYW1lfV9fYnV0dG9uLXdyYXAge1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgbWFyZ2luLXRvcDogKFxuICAgICAgJHNwYWNpbmcsXG4gICAgICAoXG4gICAgICAgIG0gOiAkc3BhY2luZy1sXG4gICAgICApXG4gICAgKVxuICApKTtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2J1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibHVlLWxpZ2h0O1xuICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGV4dGVuZCAlYnV0dG9uLXJlc2V0O1xuICBAaW5jbHVkZSByZW5kZXItcHJvcGVydGllcygoXG4gICAgZm9udC1zaXplOiAoXG4gICAgICAxM3B4LFxuICAgICAgKFxuICAgICAgICBzIDogMTRweCxcbiAgICAgICAgbSA6IDE0cHgsXG4gICAgICAgIGwgOiAxNnB4LFxuICAgICAgKVxuICAgIClcbiAgKSk7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgcGFkZGluZzogJHNwYWNpbmctcyAkc3BhY2luZy1sO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1lO1xuICAmOmFmdGVyIHtcbiAgICBAZXh0ZW5kICVpY29uLXJlc2V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6ICRpY29uLWFycm93LXJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy14eHM7XG4gICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1lLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdGltZTtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1kYWludHJlZTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1kYWludHJlZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZGFpbnRyZWU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICB9XG4gIH1cbn1cblxuI3skbW9kdWxlLXNlbGVjdG9yfSB7XG4gIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfTtcbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGU7XG4gIH1cbiAgJl9fdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190ZXh0O1xuICB9XG4gICZfX2ZpZyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19maWc7XG4gICAgJi0tbGVmdCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ZpZy0tbGVmdDtcbiAgICB9XG4gICAgJi0tcmlnaHQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19maWctLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19pbWFnZTtcbiAgfVxuICAmX193cmFwIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX3dyYXA7XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50O1xuICAgICYtLWxlZnQge1xuICAgICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19jb250ZW50LS1sZWZ0O1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2NvbnRlbnQtLXJpZ2h0O1xuICAgIH1cbiAgfVxuICAmX19idXR0b24ge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fYnV0dG9uO1xuICAgICYtd3JhcCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2J1dHRvbi13cmFwO1xuICAgIH1cbiAgfVxuXG59XG4iLCIkbW9kdWxlLW5hbWUgICAgICAgOiBtLWxpbmtzLWRvdWJsZTtcbiRtb2R1bGUtc2VsZWN0b3IgICA6IFwiLiN7JG1vZHVsZS1uYW1lfVwiO1xuXG4lI3skbW9kdWxlLW5hbWV9IHtcbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLW1heC14cykge1xuICAgIHBhZGRpbmctbGVmdDogcm93LXNwYWNpbmcoKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByb3ctc3BhY2luZygpO1xuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X193cmFwIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fdGl0bGUge1xuICBAZXh0ZW5kICVtb2R1bGUtaGVhZGVyLXRpdGxlLS10b3A7XG59XG4lI3skbW9kdWxlLW5hbWV9X19maWcge1xuICBtYXJnaW46IDA7XG59XG4lI3skbW9kdWxlLW5hbWV9X19pbWFnZSB7XG4gIEBleHRlbmQgJW1vZHVsZS1pbWFnZS0tZGVmYXVsdDtcbn1cbiUjeyRtb2R1bGUtbmFtZX1fX2xpbmtzIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9faXRlbSB7XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tYXgteHMpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGlhLXhzKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpYS1tKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgfVxuICB9XG59XG4lI3skbW9kdWxlLW5hbWV9X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgICN7JG1vZHVsZS1zZWxlY3Rvcn1fX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLCAuMik7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci13aGl0ZSwgLjEpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lI3skbW9kdWxlLW5hbWV9X19sYWJlbC13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB6KCdhYm92ZScpO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fbGFiZWwge1xuICBAZXh0ZW5kICVtb2R1bGUtYnV0dG9uLS1sYXJnZTtcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1lO1xuICAmOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWU7XG4gIH1cbn1cblxuXG4jeyRtb2R1bGUtc2VsZWN0b3J9IHtcbiAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9O1xuICAmX19maWcge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fZmlnO1xuICB9XG4gICZfX2ltYWdlIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2ltYWdlO1xuICB9XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX190aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X190aXRsZTtcbiAgfVxuICAmX19saW5rcyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19saW5rcztcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2l0ZW07XG4gIH1cbiAgJl9fbGluayB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19saW5rO1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsO1xuICAgICYtd3JhcCB7XG4gICAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsLXdyYXA7XG4gICAgfVxuICB9XG59XG4iLCIkbW9kdWxlLW5hbWUgICAgICAgOiBtLXN0aWNreS1uYXY7XG4kbW9kdWxlLXNlbGVjdG9yICAgOiBcIi4jeyRtb2R1bGUtbmFtZX1cIjtcblxuJSN7JG1vZHVsZS1uYW1lfSB7XG5cbn1cbiUjeyRtb2R1bGUtbmFtZX1fX3dyYXAge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItbGlnaHQtZ3JleTtcbiAgcGFkZGluZzogJHNwYWNpbmctbCAwO1xufVxuJSN7JG1vZHVsZS1uYW1lfV9fbGlua3Mge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG59XG4lI3skbW9kdWxlLW5hbWV9X19pdGVtIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuJSN7JG1vZHVsZS1uYW1lfV9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1lZGVuO1xuICBjb2xvcjogJGNvbG9yLWVkZW47XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIHJlbmRlci1wcm9wZXJ0aWVzKChcbiAgICBmb250LXNpemU6IChcbiAgICAgIDEzcHgsXG4gICAgICAoXG4gICAgICAgIHMgOiAxN3B4XG4gICAgICApXG4gICAgKSxcbiAgICBwYWRkaW5nOiAoXG4gICAgICBcIiN7JHNwYWNpbmcteHhzfSAjeyRzcGFjaW5nLXhsfVwiLFxuICAgICAgKFxuICAgICAgICBzIDogXCIjeyRzcGFjaW5nLXhzfSAjeyRzcGFjaW5nLTN4bH1cIlxuICAgICAgKVxuICAgICksXG4gICkpO1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1lZGVuO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZWRlbjtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbiN7JG1vZHVsZS1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX07XG4gICZfX3dyYXAge1xuICAgIEBleHRlbmQgJSN7JG1vZHVsZS1uYW1lfV9fd3JhcDtcbiAgfVxuICAmX19saW5rcyB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19saW5rcztcbiAgfVxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2l0ZW07XG4gIH1cbiAgJl9fbGluayB7XG4gICAgQGV4dGVuZCAlI3skbW9kdWxlLW5hbWV9X19saW5rO1xuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX1fX2xhYmVsO1xuICB9XG59XG4iLCIkbW9kdWxlLW5hbWUgICAgICAgOiBtLXRhYjtcbiRtb2R1bGUtc2VsZWN0b3IgICA6IFwiLiN7JG1vZHVsZS1uYW1lfVwiO1xuXG4lI3skbW9kdWxlLW5hbWV9IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbiN7JG1vZHVsZS1zZWxlY3Rvcn0ge1xuICBAZXh0ZW5kICUjeyRtb2R1bGUtbmFtZX07XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBDb250ZW50czpcbi8vXG4vLyAxLiBEZWZhdWx0IFNldHRpbmdzXG4vLyAyLiBHZW5lcmFsIHN0eWxlc1xuLy8gICAgLSBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLy8gICAgLSBDb250YWluZXJzLCB3cmFwcGVyc1xuLy8gICAgLSBDdXJzb3JzXG4vLyAgICAtIEhlbHBlciBjbGFzc2VzXG4vLyAzLiBBcHBlYXJhbmNlXG4vLyAgICAtIFByZWxvYWRlciAmIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLy8gICAgLSBDU1MgcmVzZXQgZm9yIGJ1dHRvbnNcbi8vICAgIC0gQ2xvc2UgaWNvblxuLy8gICAgLSBcIjEgb2YgWFwiIGNvdW50ZXJcbi8vICAgIC0gTmF2aWdhdGlvbiAobGVmdC9yaWdodCkgYXJyb3dzXG4vLyAgICAtIElmcmFtZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIEltYWdlIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gTWVkaWEgcXVlcnkgd2hlcmUgc2l6ZSBvZiBhcnJvd3MgaXMgcmVkdWNlZFxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAxLiBEZWZhdWx0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmOyAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtb3ZlcmxheS1vcGFjaXR5OiAgICAgICAgICAgICAgICAgMC44OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2Ygb3ZlcmxheSBzY3JlZW5cbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7IC8vIFNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcblxuLy8gc3BhY2luZ1xuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFkZGluZyBmcm9tIGxlZnQgYW5kIGZyb20gcmlnaHQgc2lkZVxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlOiAgICAgICA2cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2FtZSBhcyBhYm92ZSwgYnV0IGlzIGFwcGxpZWQgd2hlbiB3aWR0aCBvZiB3aW5kb3cgaXMgbGVzcyB0aGFuIDgwMHB4XG5cbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDAuNjU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGOyAgICAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIGNvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzM7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQzsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRjsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcblxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xuJG1mcC1pZnJhbWUtcGFkZGluZy10b3A6ICAgICAgICAgICAgICA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDA7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHg7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmF0aW8gb2YgaWZyYW1lICg5LzE2ID0gd2lkZXNjcmVlbiwgMy80ID0gc3RhbmRhcmQsIGV0Yy4pXG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyBib3R0b21cbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgI0YzRjNGMzsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gdGl0bGUgY29sb3JcbiRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgI0JEQkRCRDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMi4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG4ubWZwLWlubGluZS1ob2xkZXIsXG4ubWZwLWFqYXgtaG9sZGVyIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLy8gQ3Vyc29yc1xuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLyBIaWRlIHRoZSBpbWFnZSBkdXJpbmcgdGhlIGxvYWRpbmdcbi5tZnAtbG9hZGluZyB7XG4gICYubWZwLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDMuIEFwcGVhcmFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBQcmVsb2FkZXIgYW5kIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA0O1xuICBhIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBwcmVsb2FkZXIgd2hlbiBjb250ZW50IHN1Y2Nlc3NmdWxseSBsb2FkZWRcbi5tZnAtcy1yZWFkeSB7XG4gIC5tZnAtcHJlbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhpZGUgY29udGVudCB3aGVuIGl0IHdhcyBub3QgbG9hZGVkXG4ubWZwLXMtZXJyb3Ige1xuICAubWZwLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gQ1NTLXJlc2V0IGZvciBidXR0b25zXG5idXR0b24ge1xuICAmLm1mcC1jbG9zZSxcbiAgJi5tZnAtYXJyb3cge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMFxuICB9XG59XG5cblxuLy8gQ2xvc2UgaWNvblxuLm1mcC1jbG9zZSB7XG5cbiAgJGNsb3NlLWJ1dHRvbi1zaXplOiA1MHB4O1xuICB3aWR0aDogJGNsb3NlLWJ1dHRvbi1zaXplO1xuICBoZWlnaHQ6ICRjbG9zZS1idXR0b24tc2l6ZTtcbiAgb3BhY2l0eTogLjc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgQGluY2x1ZGUgaWNvbi0tcGx1cztcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLW5lcGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogJGNsb3NlLWJ1dHRvbi1zaXplO1xuICAgIHdpZHRoOiAkY2xvc2UtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkY2xvc2UtYnV0dG9uLXNpemU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxufVxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgQGluY2x1ZGUgcmVuZGVyLXByb3BlcnRpZXMoKFxuICAgICAgd2lkdGg6IChcbiAgICAgICAgMzBweCxcbiAgICAgICAgKFxuICAgICAgICAgIHM6IDQwcHgsXG4gICAgICAgICAgbTogNTBweCxcbiAgICAgICAgICBsOiA2MHB4XG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBoZWlnaHQ6IChcbiAgICAgICAgNDhweCxcbiAgICAgICAgKFxuICAgICAgICAgIHM6IDYwcHgsXG4gICAgICAgICAgbTogOTBweCxcbiAgICAgICAgICBsOiAxMzBweFxuICAgICAgICApXG4gICAgICApLFxuICAgICAgbWFyZ2luLXRvcDogKFxuICAgICAgICAtMjRweCxcbiAgICAgICAgKFxuICAgICAgICAgIHM6IC0zMHB4LFxuICAgICAgICAgIG06IC00NXB4LFxuICAgICAgICAgIGw6IC02NXB4XG4gICAgICAgIClcbiAgICAgIClcbiAgICApKTtcbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDtcbiAgICAgIG1hcmdpbi10b3A6IC02NXB4O1xuICAgICAgZyB7XG4gICAgICAgIGZpbGw6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG5cbi8vIElmcmFtZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGUge1xuICAubWZwLWlmcmFtZS1ob2xkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAkc3BhY2luZyBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1yYXRpbyAqIDEwMCU7XG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLy8gYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWZwLWlmcmFtZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gSW1hZ2UgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWltYWdlLXR5cGUge1xuXG4gIC8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbiAgaW1nIHtcbiAgICAmLm1mcC1pbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIC8vIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgQGV4dGVuZCAlcDMtc2l6ZTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgcGFkZGluZy1yaWdodDogMzZweDsgLy8gbGVhdmUgc29tZSBzcGFjZSBmb3IgY291bnRlciBhdCByaWdodCBzaWRlXG4gIH1cblxuICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubWZwLWdhbGxlcnkge1xuICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgQGlmICRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gICAgICAubWZwLWltZy1tb2JpbGUge1xuICAgICAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAmLm1mcC1pbWcge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICAgIC8vIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWNvdW50ZXIge1xuICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jbG9zZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBTY2FsZSBuYXZpZ2F0aW9uIGFycm93cyBhbmQgcmVkdWNlIHBhZGRpbmcgZnJvbSBzaWRlc1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gIH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gICAgcGFkZGluZy1yaWdodDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgJi5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbiAgfVxufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgLnNsaWNrLXRyYWNrLFxuICAuc2xpY2stbGlzdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGltZyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
