@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
.pseudo {
  content: "";
  display: block;
  position: absolute;
}

.wide {
  max-width: 100%;
}

.text-black {
  color: var(--black) !important;
}
.text-white, .background-black {
  color: var(--white) !important;
}

.background-black {
  background: #1A1A18 !important;
}
.background-white {
  background: var(--white) !important;
}
.background-cappuccino {
  background: #90644C !important;
}
.background-red {
  background: var(--red) !important;
}
.background-blue {
  background: var(--blue) !important;
}
.background-yellow {
  background: var(--yellow) !important;
}
.background-off-white {
  background: var(--off-white) !important;
}

.hidden {
  display: none !important;
  visibility: hidden;
}

.clearfix:before {
  display: table;
  content: " ";
}
.clearfix:after {
  display: table;
  content: " ";
  clear: both;
}

.inline {
  display: inline;
}

@media (max-width: 767px) {
  .padded {
    padding: 0 30px;
  }
  .desktop-up,
  .desktop-only {
    display: none !important;
  }
  .tablet-down {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .tablet-only,
  .hide-for-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .mobile-only,
  .hide-for-tablet {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .tablet-down,
  .tablet-only,
  .hide-for-desktop {
    display: none !important;
  }
  .desktop-up {
    display: block !important;
  }
}
:root {
  --site-width: 100vw;
  --middle-grey: #999;
  --darkbrown: #262626;
  --off-white: #E1EFEE;
  --light-grey: #e4e4e4;
  --red: #FE4823;
  --blue: #4D97BF;
  --yellow: #F8F3CD;
  --orange: #EDA312;
  --green: #3C8596;
  --purple: #EB4BD1;
  --banner-grey: #9d8f8c;
  --banner-red: #FF461E;
  --white: #fff;
  --black: #000;
  --off-black: #222;
  --gray: #aaa;
  --load-more-background: #000;
  --extension-home-slides: #000;
  --extension-content-grid: #000;
  --plyr-color-main: #fff;
  --plyr-video-control-color-hover: #999;
  --plyr-video-control-background-hover: transparent;
  --plyr-menu-arrow-size: 20px;
  --col-1: calc(var(--site-width) / 12);
  --col-2: calc(var(--col-1) * 2);
  --col-3: calc(var(--col-1) * 3);
  --col-4: calc(var(--col-1) * 4);
  --col-5: calc(var(--col-1) * 5);
  --col-6: calc(var(--col-1) * 6);
  --col-7: calc(var(--col-1) * 7);
  --col-8: calc(var(--col-1) * 8);
  --col-9: calc(var(--col-1) * 9);
  --col-10: calc(var(--col-1) * 10);
  --col-11: calc(var(--col-1) * 11);
  --scrollbar: calc(100vw - 100%);
  --section-margin: 2.875rem;
  --section-margin-double: 5.75rem;
  --font-size-s: 1.25rem;
  --line-height-s: 1.25;
  --font-size-m: 1.875rem;
  --line-height-m: 1.2;
  --font-size-l: 2.5rem;
  --line-height-l: 1;
  --font-size-xl: 3.125rem;
  --line-height-xl: 1;
  --font-size-xxl: 3.75rem;
  --line-height-xxl: 1;
  --letter-spacing-s: 0;
  --letter-spacing-m: 0;
  --letter-spacing-l: 0;
  --letter-spacing-xl: 0;
  --letter-spacing-xxl: 0;
  --phc-black-af: #171717;
  --phc-white-af: #FAFAFA;
  --phc-paper: #FAFAF6;
  --phc-egg: #EAEADA;
  --phc-teal: #D1DEDE;
  --phc-teal-washout: #242C2C;
  --phc-gray: #879292;
  --phc-gray-washout: #505656;
  --phc-ocean: #4EA5C4;
  --phc-bg: var(--phc-paper);
  --phc-fg: var(--phc-black-af);
  --phc-muted: var(--phc-gray-washout);
  --phc-rule: var(--phc-teal);
  --phc-accent: var(--phc-ocean);
  --phc-page-width: 90rem;
  --phc-mobile-body-min: 14px;
  --phc-root: 1rem;
  --phc-menu-bg: rgba(36, 44, 44, 0.7);
  --phc-menu-fg: var(--phc-gray);
  --phc-menu-fg-active: var(--phc-white-af);
  --phc-menu-bg-fallback: rgba(36, 44, 44, 0.7);
  --phc-contrast-bg: var(--phc-teal-washout);
  --phc-contrast-fg: var(--phc-paper);
  --phc-contrast-muted: var(--phc-gray);
}

.phc-theme-dark {
  --phc-bg: var(--phc-black-af);
  --phc-fg: var(--phc-white-af);
  --phc-muted: var(--phc-gray);
  --phc-rule: var(--phc-teal-washout);
}

@media (max-width: 1919px) {
  :root {
    --site-width: 100vw;
  }
}
/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */
/* draggable */
/* ---- flickity-button ---- */
/* ---- previous/next buttons ---- */
/* right to left */
/* ---- page dots ---- */
.flickity-enabled {
  position: relative;
}
.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}
.flickity-button:hover {
  background: white;
  cursor: pointer;
}
.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}
.flickity-button:active {
  opacity: 0.6;
}
.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  transform: translateY(-50%);
}
.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}
.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}
.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Inter-Light.woff2?v=3.19") format("woff2"), url("../fonts/Inter-Light.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Inter-LightItalic.woff2?v=3.19") format("woff2"), url("../fonts/Inter-LightItalic.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Inter-Regular.woff2?v=3.19") format("woff2"), url("../fonts/Inter-Regular.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Inter-RegularItalic.woff2?v=3.19") format("woff2"), url("../fonts/Inter-RegularItalic.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Inter-Medium.woff2?v=3.19") format("woff2"), url("../fonts/Inter-Medium.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Inter-MediumItalic.woff2?v=3.19") format("woff2"), url("../fonts/Inter-MediumItalic.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Inter-SemiBold.woff2?v=3.19") format("woff2"), url("../fonts/Inter-SemiBold.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Inter-SemiBoldItalic.woff2?v=3.19") format("woff2"), url("../fonts/Inter-SemiBoldItalic.woff?v=3.19") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-Light.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-Light.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-LightItalic.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-LightItalic.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-Regular.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-Regular.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-Medium.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-Medium.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-MediumItalic.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-MediumItalic.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-SemiBold.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Suisse Intl";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/suisse/SuisseIntl-SemiBoldItalic.woff2") format("woff2"), url("../fonts/suisse/SuisseIntl-SemiBoldItalic.woff") format("woff");
}
.grid-desktop {
  display: none !important;
  position: fixed;
  top: 0;
  width: var(--site-width);
  left: calc((100vw - (var(--site-width)) - (100vw - 100%)) / 2);
  height: 100%;
  display: block;
  z-index: 1200;
  pointer-events: none;
}
.grid-desktop.off {
  opacity: 0;
}
.grid-desktop__col {
  float: left;
  display: block;
  height: 100%;
  width: calc((var(--site-width)) / 12);
  border-right: 1px solid #777;
  opacity: 0.1;
}
.grid-desktop__col:first-child {
  width: 30px;
  border-left: 1px solid #777;
}
.grid-desktop__col:nth-child(2) {
  width: calc((var(--site-width)) / 12 - 30px);
}
.grid-desktop__col:nth-child(13) {
  width: calc((var(--site-width)) / 12 - 30px);
}
.grid-desktop__col:last-child {
  width: 30px;
  border-right: 1px solid #777;
}

.wrapper {
  width: 100%;
  position: relative;
}
.wrapper.blur {
  pointer-events: none;
}
.wrapper {
  transition: filter 0.4s ease-out;
}

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

.col {
  width: 8.33%;
}
.col-1 {
  width: 8.33%;
}
.col-2 {
  width: 16.66%;
}
.col-3 {
  width: 25%;
}
.col-4 {
  width: 33.33%;
}
.col-5 {
  width: 41.65%;
}
.col-6 {
  width: 50%;
}
.col-7 {
  width: 58.33%;
}
.col-8 {
  width: 66.66%;
}
.col-9 {
  width: 75%;
}
.col-10 {
  width: 83.33%;
}
.col-11 {
  width: 91.66%;
}
.col-12 {
  width: 100%;
}

.offset-1 {
  margin-left: 8.33%;
}
.offset-2 {
  margin-left: 16.66%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.33%;
}
.offset-5 {
  margin-left: 41.65%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.33%;
}
.offset-8 {
  margin-left: 66.66%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.33%;
}
.offset-11 {
  margin-left: 91.66%;
}
.offset-12 {
  margin-left: 100%;
}

.total-cols-md-1 > * {
  width: 100%;
}
.total-cols-md-2 > * {
  width: 50%;
}
.total-cols-md-3 > * {
  width: 33.333%;
}
.total-cols-md-12 > *, .total-cols-md-11 > *, .total-cols-md-11 > *, .total-cols-md-10 > *, .total-cols-md-9 > *, .total-cols-md-8 > *, .total-cols-md-7 > *, .total-cols-md-6 > *, .total-cols-md-5 > *, .total-cols-md-4 > * {
  width: 25%;
}

@media (max-width: 767px) {
  .total-cols-sm-1 > * {
    width: 100%;
  }
  .total-cols-sm-2 > * {
    width: 50%;
  }
  .total-cols-sm-2 > *:first-child:last-child {
    width: 100%;
  }
  .total-cols-sm-3 > * {
    width: 33.333%;
  }
  .total-cols-sm-3 > *:first-child:last-child {
    width: 100%;
  }
  .total-cols-sm-4 > * {
    width: 25%;
  }
  .total-cols-sm-4 > *:first-child:last-child {
    width: 100%;
  }
}
html {
  box-sizing: border-box;
  font-size: 100%;
}
@media (min-width: 1440px) {
  html {
    font-size: calc(0.703em + 0.33vw);
  }
}
@media (max-width: 720px) {
  html {
    font-size: max(calc(var(--phc-mobile-body-min) * 0.7272727273), calc(100vw / 45));
  }
}
html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
html.old {
  font-size: 16px;
  font-size: calc(14px + 0.33vw);
}
@media (min-width: 768px) {
  html.old {
    font-size: calc(12px + 0.33vw);
  }
}
html.old {
  --phc-root: 16px;
}
@media (max-width: 720px) {
  html.old {
    --phc-root: max(calc(var(--phc-mobile-body-min) * 0.7272727273), calc(100vw / 45));
  }
}

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

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-weight: 500;
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
  font-feature-settings: "tnum" 1;
  font-feature-settings: "frac" 1;
  font-feature-settings: "case" 1;
  font-feature-settings: "ccmp" 1;
  font-feature-settings: "dlig" 1;
  font-feature-settings: "numr" 1;
  font-feature-settings: "dnom" 1;
  font-feature-settings: "sups" 1;
  font-feature-settings: "subs" 1;
  font-feature-settings: "cvXX" 1;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

a {
  color: var(--black);
  text-decoration: none;
}
a:hover {
  color: var(--middle-grey);
}

audio {
  vertical-align: middle;
}

canvas {
  vertical-align: middle;
}

img {
  vertical-align: middle;
}

video {
  vertical-align: middle;
}

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

textarea {
  resize: vertical;
}

ol:first-child,
ul:first-child {
  margin-top: 0;
}
ol:last-child,
ul:last-child {
  margin-top: 0;
}
ol li,
ul li {
  font-weight: normal;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
}
ol li + li,
ul li + li {
  margin-top: 15px;
}
@media (max-width: 767px) {
  ol li,
  ul li {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
    padding-left: 13px;
  }
}

ul {
  padding-left: 0;
  list-style-type: none;
}
ul > li {
  text-indent: -1px;
  padding-left: 12px;
  position: relative;
}
ul > li:before {
  content: "—";
  position: absolute;
  left: 0;
}
@media (min-width: 768px) {
  ul > li {
    padding-left: 18px;
  }
}

ol {
  list-style: none;
  counter-reset: peterhainer-custom-counter;
}
ol li {
  position: relative;
  counter-increment: peterhainer-custom-counter;
}
ol li:before {
  content: counter(peterhainer-custom-counter);
  position: absolute;
  transform: translateX(-40px);
  width: 40px;
  text-align: center;
}

.section-wrapper {
  width: 100%;
  display: block;
}
.section-wrapper--red {
  background-color: var(--red);
}
.section-wrapper--black {
  color: var(--white);
  background-color: var(--black);
}
.section-wrapper--grey {
  background-color: var(--middle-grey);
  color: var(--white);
}

.main .background-cappuccino a,
.main .background-cappuccino a > *,
.background-cappuccino a,
.background-cappuccino a > * {
  color: var(--white);
}

.section-container {
  margin: 0 auto;
  display: block;
  max-width: var(--site-width);
}
.section-container--full {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

main {
  display: flex;
  flex-direction: column;
  flex-flow: wrap;
}

.article-main {
  margin: 0px auto 0px;
  max-width: var(--site-width);
}

.headless {
  padding-top: 130px;
}

.arrow-link:after {
  content: "→";
  position: relative;
  display: inline-block;
  margin-left: 10px;
  transition: margin 0.2s ease-out;
}
@media (hover: hover) {
  .arrow-link:hover {
    text-decoration: none;
  }
  .arrow-link:hover:after {
    margin-left: 20px;
  }
}

small {
  display: inline-block;
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
}

.main .intro-section__call a:hover {
  text-decoration: none;
}
.main .text-white, .main .background-black {
  color: #fff;
}
.main a:not([class*=phc-]) {
  color: var(--middle-grey);
  text-decoration: none;
}
.main h2 a {
  text-decoration: none;
  color: var(--middle-grey);
}
.main h2 a:hover {
  text-decoration: underline;
}
.main table a,
.main h1 a,
.main h2 a,
.main h3 a,
.main h4 a,
.main p a {
  text-decoration: none;
  color: var(--middle-grey);
}
.main table a:hover,
.main h1 a:hover,
.main h2 a:hover,
.main h3 a:hover,
.main h4 a:hover,
.main p a:hover {
  text-decoration: underline;
}
.main table a.arrow-link:hover,
.main h1 a.arrow-link:hover,
.main h2 a.arrow-link:hover,
.main h3 a.arrow-link:hover,
.main h4 a.arrow-link:hover,
.main p a.arrow-link:hover {
  text-decoration: none;
}

a[href^=tel] {
  color: inherit;
  text-decoration: none;
}

.kerning-25 {
  letter-spacing: -0.025em;
}

.type-s {
  font-size: var(--font-size-s) !important;
  line-height: var(--line-height-s) !important;
  letter-spacing: var(--letter-spacing-s) !important;
}

.type-m {
  font-size: var(--font-size-m) !important;
  line-height: var(--line-height-m) !important;
  letter-spacing: var(--letter-spacing-m) !important;
}

.type-l {
  font-size: var(--font-size-l) !important;
  line-height: var(--line-height-l) !important;
  letter-spacing: var(--letter-spacing-l) !important;
}

.type-xl {
  font-size: var(--font-size-xl) !important;
  line-height: var(--line-height-xl) !important;
  letter-spacing: var(--letter-spacing-xl) !important;
}

.type-xxl {
  font-size: var(--font-size-xxl) !important;
  line-height: var(--line-height-xxl) !important;
  letter-spacing: var(--letter-spacing-xxl) !important;
}

.phc-theme-bright,
.phc-theme-dark {
  background-color: var(--phc-contrast-bg);
}
.phc-theme-bright .wrapper,
.phc-theme-dark .wrapper {
  background-color: var(--phc-bg);
  color: var(--phc-fg);
}

html.phc-theme-bright .wrapper,
html.phc-theme-dark .wrapper {
  background: linear-gradient(var(--phc-bg) 100%, var(--phc-contrast-bg) 100%);
}

h1 {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(4 * var(--phc-root));
  font-weight: 300;
  line-height: calc(4.125 * var(--phc-root));
  letter-spacing: -0.05em;
  font-feature-settings: "salt" 1;
  margin: 0 0 1.25rem;
}

h2 {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(2.625 * var(--phc-root));
  font-weight: 400;
  line-height: calc(2.75 * var(--phc-root));
  letter-spacing: -0.02em;
  font-feature-settings: "salt" 1;
  margin: 0 0 1.25rem;
}

h3 {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1.75 * var(--phc-root));
  font-weight: 500;
  line-height: calc(2.25 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
  margin: 0 0 1.25rem;
}

h4,
h5,
h6 {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1.375 * var(--phc-root));
  font-weight: 400;
  line-height: calc(1.5 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
  margin: 0 0 1.25rem;
}

p {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1.375 * var(--phc-root));
  font-weight: 400;
  line-height: calc(1.5 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
  margin: 0 0 1.25rem;
}

small {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1 * var(--phc-root));
  font-weight: 500;
  line-height: calc(1.125 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}

.old {
  background-color: var(--white);
  color: var(--black);
}
.old h1:not([class*=text-phc-]) {
  font-weight: 600;
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  letter-spacing: var(--letter-spacing-xl);
  margin: 0;
  font-weight: normal;
}
.old h2:not([class*=text-phc-]),
.old h3:not([class*=text-phc-]),
.old h4:not([class*=text-phc-]),
.old h5:not([class*=text-phc-]),
.old h6:not([class*=text-phc-]) {
  font-weight: 600;
}
.old p:not([class*=text-phc-]) {
  margin-top: 0;
  font-weight: 500;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
  margin-bottom: var(--section-margin);
}
.old .main h1 {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  letter-spacing: var(--letter-spacing-xl);
}
.old .main h2 {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
}
.old .main h3 {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
}
.old .main h4 {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
}
.old .main h1, .old .main h2, .old .main h3, .old .main h4 {
  margin: 0;
  font-weight: 600;
  margin-bottom: calc(var(--section-margin) / 2);
}
@media (max-width: 1023px) {
  .old .main p {
    font-weight: normal;
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
    margin-bottom: 30px;
  }
  .old .main h1 {
    margin: 0;
    font-weight: normal;
    margin: 0 0 var(--section-margin);
  }
  .old .main.main--contact.main--article h1 {
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    letter-spacing: var(--letter-spacing-l);
  }
  .old .main:not(.main--contact) h1 br {
    display: none;
  }
  .old .main h2 {
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    letter-spacing: var(--letter-spacing-l);
    margin: 0;
    font-weight: normal;
    margin: 0 0px 40px;
  }
  .old .main h3 {
    font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
    font-weight: normal;
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
    margin-bottom: 40px;
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .old .main h1,
  .old .main p {
    margin-bottom: calc(var(--section-margin) / 2);
  }
}
@media (max-width: 767px) {
  .old .main p,
  .old p {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
  }
}

.menu-burger {
  position: fixed;
  top: 20px;
  right: 32px;
  z-index: 500;
  width: 2.8125rem;
  height: 2.125rem;
  cursor: pointer;
  mix-blend-mode: difference;
}
.admin-bar .menu-burger {
  top: 32px;
}
.menu-burger.active {
  mix-blend-mode: normal;
}
@media (hover: hover) {
  .menu-burger:hover .menu-burger__bar--1 > svg {
    transform: translate(0, -5px);
  }
  .menu-burger:hover .menu-burger__bar--2 > svg {
    transform: translate(0, 5px);
  }
  .menu-burger.active:hover .menu-burger__bar--1 > svg {
    transform: translate(0, -10px);
  }
  .menu-burger.active:hover .menu-burger__bar--2 > svg {
    transform: translate(0, 10px);
  }
}
@media (min-width: 768px) {
  .menu-burger {
    top: 32px;
    right: 64px;
  }
}
.menu-burger__bar {
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  position: absolute;
  width: 2.8125rem;
  height: 0.625rem;
  background: var(--black);
  background: var(--white);
}
.active .menu-burger__bar {
  background: var(--white);
  width: 3.75rem;
}
.menu-burger__bar--1 {
  top: 0;
}
.menu-burger__bar--2 {
  top: 1.4375rem;
}
.active .menu-burger__bar--1 {
  transform: translate(0, 0.625rem);
}
.active .menu-burger__bar--2 {
  transform: translate(0, -0.625rem);
}
@media (min-width: 1920px) {
  .menu-burger__bar.active svg path {
    fill: var(--white) !important;
  }
}
.menu-burger.reverse {
  mix-blend-mode: normal;
  filter: invert(1);
}
.menu-burger.reverse .menu-burger__bar {
  background: var(--black);
}

.background--dark svg path {
  fill: var(--white) !important;
}
.background--light svg path {
  fill: var(--black) !important;
}

.main-logo img {
  display: block;
  width: 5rem;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  pointer-events: initial;
  position: absolute;
  z-index: 500;
}
@media (min-width: 768px) {
  .main-logo img {
    width: 9.5625rem;
  }
}
.main-logo .home-only {
  top: 35px;
  left: 35px;
  opacity: 0;
}
body.home .main-logo .home-only {
  opacity: 1;
}
.main-logo .active-only {
  position: fixed;
  top: 70px;
  left: 60px;
  width: 5.625rem;
  filter: invert(1);
}
body.home .main-logo.on-menu .home-only,
.main-logo.on-menu .home-only {
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
.main-logo.on-menu .active-only {
  opacity: 1;
  transition: opacity 0.2s ease-out 0.25s;
}

.main-menu__container__overlay {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  transform: translateY(-100%);
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  z-index: 450;
  text-align: left;
  padding: 6.25rem 2.5rem 1.875rem;
  width: 100%;
  transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.main-menu__container__overlay-bg {
  opacity: 0;
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 400;
  background-color: rgba(0, 0, 0, 0);
  backdrop-filter: blur(10px);
  transition: opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  top: -100vh;
  pointer-events: none;
}
.main-menu__container.active .main-menu__container__overlay {
  transform: translateY(0%);
}
.main-menu__container.active .main-menu__container__overlay-bg {
  opacity: 1;
  top: 0;
  pointer-events: all;
}
.main-menu__filter-list {
  display: none;
}
.show-grid-container .main-menu__filter-list {
  display: block;
}
.main-menu__list {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: right;
  padding: 9.375rem 0 0;
}
.show-grid-container .main-menu__list {
  display: none;
}
@media (min-width: 768px) {
  .main-menu__list {
    padding: 9.375rem 1.875rem 0;
  }
}
.main-menu__item {
  padding: 0;
  margin: 0;
  display: block;
  font-size: 4.6875rem;
  font-weight: 600;
  line-height: 1;
}
.main-menu__item sub {
  top: -0.25em;
  bottom: auto;
}
.main-menu__item:before {
  display: none;
}
.main-menu__item--two-line {
  font-size: 2.5rem;
  line-height: 1;
}
.main-menu__container .filter-menu-item, .main-menu__link {
  text-decoration: none;
  color: var(--white);
  transition: all 0.3s ease-out;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
@media (hover: hover) {
  .main-menu__container .filter-menu-item:hover, .main-menu__link:hover {
    color: var(--middle-grey);
  }
}
@media (max-width: 767px) {
  .main-menu__container .filter-menu-item, .main-menu__link {
    display: block;
  }
}
.main-menu__container .filter-menu-item.active {
  color: var(--middle-grey);
}

body.headless .menu-burger path {
  fill: var(--black);
}
body.headless .menu-burger.active path {
  fill: var(--white);
}
body.headless .main-logo path {
  fill: var(--black);
}
body.headless .main-logo.on-menu path {
  fill: var(--white);
}

@media (min-width: 768px) {
  .main-menu__container__overlay {
    padding: 1.5625rem 0 3.125rem 3.125rem;
    font-size: 3.125rem;
  }
  .main-menu__container .filter-menu-item,
  .main-menu__item {
    line-height: 1;
  }
}
@media (max-width: 767px) {
  .main-menu__container .filter-menu-item,
  .main-menu__item {
    line-height: 1.1;
    padding: 0;
    font-size: var(--font-size-l);
  }
  .main-menu__item--two-line {
    font-size: 1.25rem;
    line-height: 1;
  }
  .grid-desktop {
    left: 0;
    opacity: 0.1;
    z-index: 1200;
    margin: 0 2.5rem;
    width: 100%;
    border-left: 1px solid #777;
    border-right: 1px solid #777;
  }
  .grid-desktop.off {
    opacity: 0;
  }
  .grid-desktop__col {
    display: none;
  }
}
@media (max-width: 349px) {
  .main-menu__container .filter-menu-item,
  .main-menu__item {
    font-size: var(--font-size-xl);
  }
}
.phc-menu {
  position: fixed;
  right: 0;
  bottom: calc(1.25 * var(--phc-root));
  left: 0;
  z-index: 100;
  display: flex;
  justify-content: center;
  padding: 0 calc(1.25 * var(--phc-root));
  pointer-events: none;
}
.phc-menu__bar {
  pointer-events: auto;
  position: relative;
  width: 100%;
  max-width: var(--phc-page-width);
  height: calc(4.375 * var(--phc-root));
  display: block;
  overflow: hidden;
  border-radius: calc(2.1875 * var(--phc-root));
  transform: translateX(0);
  transition: width 0.4s ease, max-width 0.4s ease, transform 0.4s ease;
}
.phc-menu .phc-glass-canvas {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}
.phc-menu__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: calc(1 * var(--phc-root));
  width: 100%;
  height: 100%;
  padding: 0 calc(1 * var(--phc-root));
}
.phc-menu__logo {
  flex: 0 0 auto;
  width: calc(2 * var(--phc-root));
  height: calc(2 * var(--phc-root));
  padding: 0;
  border: 0;
  background-color: var(--phc-menu-fg);
  mask: url("../images/h-logo.svg") center/contain no-repeat;
  -webkit-mask: url("../images/h-logo.svg") center/contain no-repeat;
  cursor: pointer;
}
.phc-menu__item {
  flex: 1 0 0;
  min-width: 0;
  color: var(--phc-menu-fg);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.phc-menu__item.active {
  color: var(--phc-menu-fg-active);
}
@media (hover: hover) {
  .phc-menu__item:hover {
    color: var(--phc-menu-fg-active);
  }
}
.phc-menu__linkedin {
  flex: 0 0 auto;
  width: calc(2.5 * var(--phc-root));
  height: calc(2.5 * var(--phc-root));
}
.phc-menu__linkedin img {
  display: block;
  width: 100%;
  height: 100%;
}

.phc-menu[data-glass=webgl] .phc-menu__bar,
.phc-menu[data-glass=plain] .phc-menu__bar {
  background-color: var(--phc-menu-bg-fallback);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.55), inset -1px -1px 0 rgba(0, 0, 0, 0.25);
}

.phc-menu[data-glass=webgl].phc-menu--glass-ready .phc-menu__bar {
  background-color: transparent;
}

.phc-menu--min .phc-menu__bar {
  width: calc(4.375 * var(--phc-root));
  max-width: calc(4.375 * var(--phc-root));
  transform: translateX(var(--phc-menu-shift, 0px));
}
.phc-menu--min .phc-menu__inner {
  padding: 0;
  justify-content: center;
}
.phc-menu--min .phc-menu__item,
.phc-menu--min .phc-menu__linkedin {
  display: none;
}

.phc-menu--back {
  justify-content: flex-end;
}
.phc-menu--back .phc-menu__bar {
  width: auto;
  max-width: none;
  aspect-ratio: 1;
  border-radius: 50%;
}
.phc-menu--back .phc-menu__inner {
  justify-content: center;
  padding: 0;
}

.phc-menu__back {
  display: block;
  width: 48%;
  height: 48%;
  background-color: var(--phc-menu-fg);
  mask: url("../images/back-arrow.svg") center/contain no-repeat;
  -webkit-mask: url("../images/back-arrow.svg") center/contain no-repeat;
  transition: background-color 0.2s ease-out;
}
@media (hover: hover) {
  .phc-menu__back:hover {
    background-color: var(--phc-menu-fg-active);
  }
}

@media (prefers-reduced-motion: reduce) {
  .phc-menu__back {
    transition: none;
  }
}
@media (max-width: 767px) {
  .phc-menu {
    bottom: 1.25rem;
    padding: 0 0.625rem;
  }
  .phc-menu__logo, .phc-menu__linkedin {
    display: none;
  }
  .phc-menu__bar {
    border-radius: calc(1.625 * var(--phc-root));
  }
  .phc-menu__inner {
    gap: calc(0.5 * var(--phc-root));
    padding: 0 calc(0.5 * var(--phc-root));
  }
  .phc-menu__item {
    flex: 1 1 auto;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
  }
  .phc-menu--min .phc-menu__bar {
    width: calc(3.25 * var(--phc-root));
    max-width: calc(3.25 * var(--phc-root));
  }
}
.footer {
  background: var(--black);
  padding: 3.125rem 2rem 2rem;
}
@media (min-width: 768px) {
  .footer {
    padding: 3.125rem 2.8125rem 2rem;
  }
}
@media (min-width: 768px) {
  .footer__inner {
    max-width: 50%;
    margin-left: auto;
  }
}
.footer p {
  color: var(--white);
  margin-bottom: 1.125rem;
  font-weight: 600;
  line-height: 1;
}
.footer p:last-child {
  margin-bottom: 0;
}
.footer a {
  color: var(--white);
}
.footer__logo {
  filter: invert(1);
}
.footer__logo__img {
  max-width: 7rem;
}
.footer__logo {
  margin-bottom: 4.375rem;
}
@media (max-width: 767px) {
  .footer__logo {
    display: flex;
    justify-content: center;
    margin-bottom: 2.5rem;
  }
}
.footer__wysiwyg {
  margin-top: 1.5rem;
}
.footer__wysiwyg:last-child {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .footer__wysiwyg {
    margin-top: 2.8125rem;
  }
  .footer__wysiwyg:last-child {
    margin-top: 5.3125rem;
  }
}

.phc-footer {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: calc(2.5 * var(--phc-root));
  width: 100%;
  padding: 2.5rem;
  background-color: var(--phc-contrast-bg);
  color: var(--phc-contrast-fg);
  text-align: right;
}
.phc-footer p {
  margin: 0;
}
.phc-footer__logo {
  text-transform: uppercase;
}
.phc-footer__divider {
  width: calc(7.5 * var(--phc-root));
  height: calc(0.75 * var(--phc-root));
  background-color: currentColor;
}
.phc-footer__bio {
  display: flex;
  flex-direction: column;
  gap: calc(1.25 * var(--phc-root));
  max-width: calc(31.25 * var(--phc-root));
}
.phc-footer__bio p:not([lang]) {
  text-transform: uppercase;
}
.phc-footer__link {
  display: inline-flex;
  align-items: center;
  gap: calc(0.5 * var(--phc-root));
  color: inherit;
  text-decoration: none;
}
.phc-footer__icon {
  display: block;
  width: calc(1.375 * var(--phc-root));
  height: calc(1.375 * var(--phc-root));
}

.phc-has-menu .phc-footer {
  padding-bottom: 8.125rem;
}

[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
input,
textarea {
  display: block;
  box-sizing: border-box;
  margin-bottom: 16px;
  font-size: 1.6rem !important;
  padding: 5px 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  border-bottom: 1px solid var(--black);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  line-height: 1.2;
  transition: all 0.25s ease-out;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
input:focus,
textarea:focus {
  outline: 0;
  border: none;
  background-color: transparent;
  box-shadow: none;
}

textarea {
  max-width: 100%;
  resize: none;
}
textarea[rows] {
  height: auto;
}

input:disabled,
input[readonly],
textarea[readonly] {
  cursor: not-allowed;
}

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

input[type=search] {
  box-sizing: border-box;
}

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

label {
  font-size: 1.2rem;
  text-transform: uppercase;
}

.button {
  display: block;
  background: var(--middle-grey);
  color: var(--white);
  padding: 20px;
  font-weight: 900;
  outline: 0;
  text-decoration: none;
}
.button:hover, .button:active {
  outline: 0;
}
.button {
  transition: all 0.2s ease-out;
  cursor: pointer;
}
@media (min-width: 768px) {
  .button {
    font-size: var(--font-size-s);
  }
}
.phc-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.5rem;
  width: 100%;
  padding: 2.5rem;
  color: var(--phc-fg);
}
.phc-block__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
}
.phc-block__label {
  flex: 0 0 auto;
  min-width: calc((100% - 2.5rem) * 420 / 1320);
  max-width: calc((100% - 2.5rem) * 420 / 1320);
}
.phc-block__en {
  flex: 1 1 0;
  min-width: 0;
}
.phc-block__jp {
  flex: 1 1 0;
  min-width: 0;
}
.phc-block__title {
  flex: 1 0 0;
  max-width: calc(100% - (100% - 2.5rem) * 310 / 1320 - 1.25rem);
  margin: 0;
}
.phc-block__figure {
  display: flex;
  flex: 1 0 0;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
  max-width: calc((100% - 2.5rem) * 450 / 1320);
}
.phc-block__figure-value {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin: 0;
  height: calc(7.625 * var(--phc-root));
}
.phc-block__figure-caption p {
  margin: 0;
}
.phc-block__label--muted {
  color: var(--phc-muted);
}
.phc-block__intro {
  flex: 1 0 0;
}
.phc-block__intro--jp {
  flex-basis: 100%;
  margin-left: calc((100% - 2.5rem) * 420 / 1320 + 1.25rem);
  max-width: calc(100% - calc((100% - 2.5rem) * 420 / 1320 + 1.25rem));
}
.phc-block__link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  color: inherit;
  text-decoration: none;
}
.phc-block__link img {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
}
.phc-block__detail {
  flex: 1 1 0;
  min-width: 0;
}
.phc-block__detail p {
  margin: 0;
}
.phc-block__label > :last-child, .phc-block__en > :last-child, .phc-block__jp > :last-child {
  margin-bottom: 0;
}
.phc-block__rule {
  width: 100%;
  margin: 0.625rem 0 0;
  border: 0;
  border-top: 1px solid var(--phc-rule);
}
.phc-block__rule--gray {
  border-top-color: var(--phc-gray);
}
.phc-block__rule--white {
  border-top-color: var(--phc-white-af);
}
.phc-block__rule--black {
  border-top-color: var(--phc-black-af);
}

@media (max-width: 767px) {
  .phc-block {
    padding: 2.5rem;
    gap: 1.25rem;
  }
  .phc-block__title, .phc-block__detail, .phc-block__label, .phc-block__en, .phc-block__jp, .phc-block__intro {
    flex: 1 1 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .phc-block__intro--jp {
    margin-left: 0;
  }
}
@media (max-width: 720px) {
  .phc-block__figure-value {
    --phc-root: calc(100vw / 45);
  }
}
@media (min-width: 768px) and (max-width: 1439px) {
  .phc-block__figure-value {
    --phc-root: calc((100vw - 120px) / 82.5);
  }
}
@media (max-width: 767px) {
  .phc-block__figure {
    flex: 1 1 calc(50% - 1.25rem / 2);
    max-width: none;
    margin-left: 0;
  }
}
.phc-block--experience,
.phc-block--profile-intro {
  gap: 1.25rem;
}

.phc-block__row--entry {
  row-gap: 0.25rem;
}

@media (max-width: 767px) {
  .phc-block--experience .phc-block__row--entry .phc-block__detail,
  .phc-block--details .phc-block__detail {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }
  .phc-block__label:empty {
    display: none;
  }
}
.phc-block--divider {
  padding-top: 0;
  padding-bottom: 0;
}
.phc-block--divider .phc-block__rule {
  margin-bottom: 0.625rem;
}

.phc-block--details {
  gap: 1.25rem;
  padding-top: 0;
}

[class*=section-wrapper--block-]:not(.background):not(.section-wrapper--block-related):not(.section-wrapper--block-divider) + [class*=section-wrapper--block-]:not(.background):not(.section-wrapper--block-related):not(.section-wrapper--block-divider) .phc-block {
  padding-top: 0;
}

.phc-arrow {
  display: inline-block;
  transition: transform 0.2s ease-out;
}

@media (hover: hover) {
  a:hover .phc-arrow {
    transform: translateX(0.375rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .phc-arrow {
    transition: none;
  }
}
.phc-related {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  padding: 2.5rem;
  background-color: var(--phc-contrast-bg);
  color: var(--phc-contrast-fg);
}
.phc-related__heading {
  width: 100%;
  margin: 0;
}
.phc-related__card {
  position: relative;
  display: flex;
  flex: 1 0 0;
  align-items: flex-end;
  aspect-ratio: 1440/720;
  min-width: 0;
  padding: 1.25rem;
  overflow: hidden;
}
.phc-related__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.phc-related__caption {
  position: relative;
  margin: 0;
  color: var(--phc-white-af);
}
.phc-related__client {
  display: block;
}

@media (max-width: 767px) {
  .phc-related {
    padding: 2.5rem;
  }
  .phc-related__card {
    flex: 1 1 100%;
    min-width: 100%;
    min-height: 13.75rem;
  }
}
.intro-section-container {
  display: block;
  max-width: var(--site-width);
  margin: 0 auto;
}

.intro-section {
  max-width: var(--site-width);
  display: block;
  min-height: calc((var(--site-width)) / 3);
  padding: 40px 0 65px;
  display: flex;
  justify-content: flex-start;
}
.intro-section__left-col {
  width: var(--col-4);
  margin-right: var(--col-1);
  margin-left: var(--col-1);
  padding: 0;
}
.intro-section__right-col {
  width: var(--col-5);
  margin-right: var(--col-1);
}
.intro-section__h1 {
  margin-top: 0;
  margin-bottom: 40px;
}
.intro-section__text {
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-weight: normal;
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
  margin-bottom: var(--section-margin);
}
.intro-section__call {
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-weight: normal;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
  color: var(--middle-grey);
  display: inline-block;
  margin-bottom: 50;
}
.intro-section__call a {
  color: var(--middle-grey);
  text-decoration: none;
}
@media (hover: hover) {
  .intro-section__call:hover .intro-section__arrow {
    margin-left: 20px;
  }
}

.intro-section__arrow {
  display: inline-block;
  transition: margin-left 0.2s ease-out;
  margin-left: 10px;
}

.arrow-sliding-right {
  display: inline;
  transition: margin 0.2s ease-out;
}

.flow-block {
  background: #F1F1F1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: none;
  opacity: 0;
  transition: opacity 0.7s;
  overflow: hidden;
}
.flow-block .arrow-sliding-right {
  margin-left: 0px;
  margin-right: 0.5rem;
}
@media (hover: hover) {
  .flow-block:hover .arrow-sliding-right {
    margin-left: 0.5rem;
    margin-right: 0px;
  }
}
.flow-block--no-link .arrow-sliding-right {
  display: none;
}

.intro-section__text--middle-grey {
  color: var(--middle-grey);
}

@media (max-width: 767px) {
  .intro-section {
    display: block;
    padding: 0 2.5rem;
  }
  .intro-section__left-col {
    width: 100%;
    margin: 0;
  }
  .intro-section__right-col {
    width: 100%;
    padding-bottom: var(--section-margin);
  }
  .intro-section__h1 {
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    letter-spacing: var(--letter-spacing-l);
    margin-left: 0;
    padding-left: 0;
  }
  .intro-section__text {
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    letter-spacing: var(--letter-spacing-l);
    margin-bottom: calc(var(--section-margin) / 2);
  }
  .intro-section__call {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
  }
}
.section-wrapper--50 {
  width: 50%;
}

.article-paragraph-block--cols {
  display: flex;
  flex-direction: row;
}
.article-paragraph-block--cols picture {
  display: contents;
}
.article-paragraph-block--cols img {
  width: 100%;
}
.article-paragraph-block--cols .col {
  width: 100%;
}
.article-paragraph-block--cols .col--video {
  position: relative;
  overflow: hidden;
}
.article-paragraph-block--cols .col--video iframe {
  height: 101% !important;
}
@media (max-width: 767px) {
  .article-paragraph-block--cols--2 {
    display: block;
  }
}
@media (min-width: 768px) {
  .article-paragraph-block--cols--2 .col {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-2-1 .col:first-child {
    width: 66.6666666667%;
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-2-1 .col:last-child {
    width: 33.3333333333%;
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-2-1 .col--video:last-child iframe {
    top: 50% !important;
    left: 50% !important;
    width: 200% !important;
    height: 101% !important;
    transform: translate(-50%, -50%);
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-2-1 .col--image:last-child img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-1-2 .col:first-child {
    width: 33.3333333333%;
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-1-2 .col:last-child {
    width: 66.6666666667%;
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-1-2 .col--video:first-child iframe {
    top: 50% !important;
    left: 50% !important;
    width: 200% !important;
    height: 101% !important;
    transform: translate(-50%, -50%);
  }
  .article-paragraph-block--cols--2.article-paragraph-block--two-col-style-1-2 .col--image:first-child img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
}
@media (max-width: 767px) {
  .article-paragraph-block--cols--3 {
    display: block;
  }
}
@media (min-width: 768px) {
  .article-paragraph-block--cols--3 .col {
    width: 50%;
  }
  .article-paragraph-block--cols--3 .col--video iframe {
    top: 50% !important;
    left: 50% !important;
    width: 200% !important;
    height: 101% !important;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 767px) {
  .article-paragraph-block--cols--4 {
    flex-flow: wrap;
  }
}
.article-paragraph-block--cols--4 .col {
  width: 50%;
}
@media (min-width: 768px) {
  .article-paragraph-block--cols--4 .col {
    width: 25%;
  }
}
@media (max-width: 767px) {
  .article-paragraph-block--cols--5 {
    display: block;
  }
}
@media (min-width: 768px) {
  .article-paragraph-block--cols--5 .col {
    width: 20%;
  }
}

.section-wrapper--template-2.section-wrapper--spacer {
  padding-top: 2.0833333333%;
}
.section-wrapper--template-2 .article-paragraph-block--cols {
  padding-left: 2.0833333333%;
  padding-right: 2.0833333333%;
}
@media (min-width: 768px) {
  .section-wrapper--template-2 .article-paragraph-block--cols .col {
    padding-left: 1.0416666667%;
    padding-right: 1.0416666667%;
  }
  .section-wrapper--template-2 .article-paragraph-block--cols .col:first-child {
    padding-left: 0;
  }
  .section-wrapper--template-2 .article-paragraph-block--cols .col:last-child {
    padding-right: 0;
  }
}
.section-wrapper--template-3.section-wrapper--spacer {
  padding-top: 4.1666666667%;
}
.section-wrapper--template-3 .article-paragraph-block--cols {
  padding-left: 4.1666666667%;
  padding-right: 4.1666666667%;
}
@media (min-width: 768px) {
  .section-wrapper--template-3 .article-paragraph-block--cols .col {
    padding-left: 2.0833333333%;
    padding-right: 2.0833333333%;
  }
  .section-wrapper--template-3 .article-paragraph-block--cols .col:first-child {
    padding-left: 0;
  }
  .section-wrapper--template-3 .article-paragraph-block--cols .col:last-child {
    padding-right: 0;
  }
}
.section-wrapper--template-4.section-wrapper--spacer {
  padding-top: 8.3333333333%;
}
.section-wrapper--template-4 .article-paragraph-block--cols {
  padding-left: 8.3333333333%;
  padding-right: 8.3333333333%;
}
@media (min-width: 768px) {
  .section-wrapper--template-4 .article-paragraph-block--cols .col {
    padding-left: 4.1666666667%;
    padding-right: 4.1666666667%;
  }
  .section-wrapper--template-4 .article-paragraph-block--cols .col--image {
    padding-left: 2.0833333333%;
    padding-right: 2.0833333333%;
  }
  .section-wrapper--template-4 .article-paragraph-block--cols .col:first-child {
    padding-left: 0;
  }
  .section-wrapper--template-4 .article-paragraph-block--cols .col:last-child {
    padding-right: 0;
  }
}

.paragraph-block {
  display: flex;
}

.paragraph-block__leftcol h5,
.paragraph-block__leftcol h4,
.paragraph-block__leftcol h3,
.paragraph-block__leftcol h2,
.paragraph-block__rightcol h5,
.paragraph-block__rightcol h4,
.paragraph-block__rightcol h3,
.paragraph-block__rightcol h2 {
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-weight: normal;
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
  margin-bottom: 5px;
}
.paragraph-block__leftcol h5:first-child,
.paragraph-block__leftcol h4:first-child,
.paragraph-block__leftcol h3:first-child,
.paragraph-block__leftcol h2:first-child,
.paragraph-block__rightcol h5:first-child,
.paragraph-block__rightcol h4:first-child,
.paragraph-block__rightcol h3:first-child,
.paragraph-block__rightcol h2:first-child {
  margin-top: 0;
}

.paragraph-block__leftcol figure {
  margin: 0;
}
.paragraph-block__leftcol figure figcaption {
  margin-top: 10px;
}
.paragraph-block__leftcol figure figcaption, .paragraph-block__leftcol figure figcaption p {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
}
.paragraph-block__leftcol figure figcaption i {
  font-weight: normal;
  font-style: normal;
  color: var(--middle-grey);
}
.paragraph-block__leftcol figure figcaption b {
  font-weight: normal;
  font-style: normal;
  color: var(--middle-grey);
}
.section-wrapper--black .paragraph-block__leftcol h5,
.section-wrapper--black .paragraph-block__leftcol h4,
.section-wrapper--black .paragraph-block__leftcol h3,
.section-wrapper--black .paragraph-block__leftcol h2 {
  color: var(--white);
}
@media (min-width: 768px) {
  .paragraph-block__leftcol {
    width: var(--col-3);
    margin-left: var(--col-1);
    padding-right: 30px;
    margin-bottom: 0px;
  }
}
@media (max-width: 767px) {
  .article-paragraph-block--paragraph_cols .paragraph-block__leftcol {
    margin-bottom: var(--section-margin);
  }
  .paragraph-block__leftcol--number_field {
    margin-bottom: var(--section-margin);
  }
}
.paragraph-block__leftcol img {
  width: 100%;
  height: auto;
}

.paragraph-block__rightcol h5,
.paragraph-block__rightcol h4,
.paragraph-block__rightcol h2 {
  margin-bottom: 10px;
}
.paragraph-block__rightcol h4,
.paragraph-block__rightcol h3 {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
}
.paragraph-block__rightcol h3 {
  margin-bottom: 20px;
}
.paragraph-block__rightcol h4 {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .paragraph-block__rightcol {
    width: var(--col-7);
  }
}
.paragraph-block__rightcol > p:last-child {
  margin-bottom: 0;
}
.paragraph-block__rightcol img {
  width: 100%;
  height: auto;
}
.paragraph-block__rightcol .large-numbers-wrapper {
  display: flex;
  justify-content: space-around;
}
@media (max-width: 767px) {
  .paragraph-block__rightcol .large-numbers-wrapper {
    margin-bottom: -15px;
  }
}
.paragraph-block__rightcol .large-number-wrapper {
  display: block;
}
@media (min-width: 768px) {
  .paragraph-block__rightcol .large-number-wrapper {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .paragraph-block__rightcol .large-number-wrapper {
    margin: 0;
  }
}

.paragraph-block__rightcol--image {
  margin-bottom: var(--section-margin);
}

.large-number {
  display: block;
  padding: 0;
  margin: 0;
  font-family: "chap-light";
  font-size: 230px;
  line-height: 230px;
  color: var(--middle-grey);
  vertical-align: bottom;
  letter-spacing: -17px;
  margin: 0 0 8px;
  position: relative;
  top: -20px;
}
.is-mac .large-number {
  position: static;
  top: auto;
}
@media (max-width: 767px) {
  .large-number {
    margin-top: 0;
  }
}
.background-red .large-number, .section-wrapper--red .large-number {
  color: var(--white);
}
.large-number--number {
  font-variant-numeric: lining-nums;
}
.large-number--percent {
  font-size: 120px;
  line-height: 153px;
  vertical-align: bottom;
}
.is-mac .large-number--percent {
  line-height: 176px;
}
.large-number__caption, .large-number__caption p {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
}
.large-number__caption {
  display: block;
  margin-top: -45px;
}
.large-number__caption i {
  font-weight: normal;
  font-style: normal;
  color: var(--middle-grey);
}
.large-number__caption b {
  font-weight: normal;
  font-style: normal;
  color: var(--middle-grey);
}
@media (max-width: 767px) {
  .large-number {
    font-size: 115px;
    line-height: 115px;
    letter-spacing: -7px;
    text-align: right;
    display: block;
  }
  .large-number--percent {
    font-size: 60px;
    line-height: 74px;
  }
  .is-mac .large-number--percent {
    line-height: 88px;
  }
  .large-number__caption {
    margin-top: 0;
    position: relative;
    top: -30px;
    padding-left: 10%;
    text-align: right;
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
  }
  .is-mac .large-number__caption {
    top: -24px;
  }
  .large-number__caption br {
    display: none;
  }
  .large-number-wrapper:first-child .large-number {
    text-align: left;
  }
  .large-number-wrapper:first-child .large-number__caption {
    padding-left: 0;
    padding-right: 10%;
    text-align: left;
  }
}
@media (max-width: 349px) {
  .large-number {
    font-size: 85px;
    line-height: 102px;
  }
}

.article-main.red {
  background-color: #dd4925;
  padding: 20px 0;
}

.intro-section-container.red {
  background-color: #dd4925 !important;
  min-height: auto;
}

.table-plain__cell {
  padding: 0px 30px 35px 0;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
  vertical-align: top;
  padding: 20px 20px;
}
@media (max-width: 767px) {
  .table-plain__cell {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
  }
}

.table-plain--row-separators .table-plain__cell {
  border-bottom: 2px solid var(--black);
}
@media (min-width: 1025px) {
  .table-plain--row-separators .table-plain__cell:last-child {
    border-bottom: none;
  }
}
.background-black .table-plain--row-separators .table-plain__cell {
  border-color: var(--white);
}
@media (max-width: 767px) {
  .table-plain--row-separators .table-plain__col:nth-last-child(-n+2) .table-plain__cell:last-child() {
    border-bottom: none;
  }
}

.article-image {
  width: 100%;
  position: relative;
}
.article-image img {
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.38s ease-out 0.1s, transform 3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
.article-image img.lazyloaded {
  opacity: 1;
}
.article-image figure {
  margin: 0;
}
.article-image figure figcaption {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  width: 66%;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .article-image figure figcaption {
    width: 100%;
    margin: 0.5rem 20px 0;
  }
}

.article-image.article-image--margin-bottom {
  margin-bottom: var(--section-margin);
}
.article-image.article-image--margin-bottom .background:not(.background-white) {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .article-image.article-image--margin-bottom {
    margin-bottom: 0;
  }
}

.article-image-callout {
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
  position: absolute;
  color: var(--white);
  top: 30px;
  left: 30px;
  z-index: 300;
  display: inline-block;
}

.article-image-callout--bottom {
  top: auto;
  bottom: 30px;
  top: auto;
  bottom: 24px;
  line-height: var(--line-height-m);
}

.article-image--left {
  padding-right: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--site-width) / 12);
}
.article-image--left .article-image-callout {
  left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--col-1));
  padding-right: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--site-width) / 12 + 30px);
}

.article-image--right {
  padding-left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--site-width) / 12);
}
.article-image--right .article-image-callout {
  left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--col-1) + 30px);
}

.article-image--center {
  padding-left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2);
  padding-right: calc((100vw - (100vw - 100%) - var(--site-width)) / 2);
}
.article-image--center .article-image-callout {
  padding-left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2);
  padding-right: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + 30px);
}

.article-image--text-column {
  padding-left: var(--col-3);
  padding-right: var(--col-1);
}
.article-image--text-column .article-image-callout {
  left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--col-3) + 30px);
  right: calc(30px + var(--col-1));
}

.article-image--text-column-wide {
  padding-left: var(--col-1);
  padding-right: var(--col-1);
}
.article-image--text-column-wide .article-image-callout {
  left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + var(--col-1) + 30px);
  right: calc(30px + var(--col-1));
}

.article-image--slim-margin {
  padding-left: 30px;
  padding-right: 30px;
}
.article-image--slim-margin .article-image-callout {
  left: 60px;
}

.article-image--margin {
  padding-left: var(--col-1);
  padding-right: var(--col-1);
}
.article-image--margin .article-image-callout {
  left: calc(var(--col-1) + 30px);
}

@media (max-width: 767px) {
  .article-image .article-image-callout {
    left: calc((100vw - (100vw - 100%) - var(--site-width)) / 2 + 20px);
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
  }
}
.article-slide {
  display: flex;
  width: 100%;
}
.article-slide.alt {
  flex-direction: row-reverse;
}
.article-slide__text {
  margin-left: var(--col-1);
  padding-right: 30px;
  width: var(--col-3);
  position: relative;
}
.article-slide__text h2 {
  margin-top: 0;
  margin-bottom: 32px;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
}
.article-slide__text p {
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
  letter-spacing: var(--letter-spacing-s);
}
.article-slide__p--bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-bottom: 0;
}
.background-cappuccino .article-slide__p--bottom a {
  color: var(--black);
}
.article-slide__image {
  width: var(--col-8);
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 37.5%;
}
.article-slide__image-mobile {
  display: none;
  max-width: 100%;
  margin-bottom: 15px;
  margin-top: -15px;
}

@media (max-width: 767px) {
  .article-slide {
    display: block;
    padding: 0 30px;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .article-slide {
    padding: 0 2.5rem;
  }
}
@media (max-width: 767px) {
  .article-slide.alt {
    flex-direction: row;
  }
  .article-slide__text {
    margin-left: 0;
    margin-bottom: 30px;
    width: 100%;
    padding-right: 0px;
  }
  .article-slide__p--bottom {
    position: relative;
    bottom: 0;
    left: 0;
    margin-bottom: 0;
  }
  .article-slide__image {
    display: none;
  }
  .flickity-page-dots {
    width: auto;
    position: relative;
    bottom: -15px;
    text-align: center;
    margin-left: 0;
  }
  .flickity-page-dots .dot {
    background-color: var(--gray);
    margin-left: 10px;
    margin-right: 10px;
    padding: 0;
  }
}
@media (max-width: 767px) {
  .article-slide__image-mobile {
    display: block;
    height: auto;
    width: 100%;
  }
  .article-slide__image {
    display: none;
  }
}
.vimeo-player > div {
  position: static !important;
}

.content-grid {
  background: var(--extension-content-grid);
}

.wrapper-grid-filter {
  width: 100%;
  position: sticky;
  top: -1px;
  z-index: 300;
}

.grid-filter-container {
  max-width: var(--site-width);
  margin: 0 auto;
}

.grid-filter__line-container {
  padding: 32px 12rem 32px 40px;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-color: rgba(0, 0, 0, 0.66);
  backdrop-filter: blur(8px);
  font-size: 2.1875rem;
  line-height: 1;
  letter-spacing: 1;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
}
.grid-filter__line-container a {
  padding-left: 0ex;
  cursor: pointer;
  display: inline;
  color: var(--middle-grey);
  text-decoration: none;
}
@media (hover: hover) {
  .grid-filter__line-container a:hover {
    text-decoration: underline;
  }
}
.grid-filter__line-container a.active {
  color: var(--white);
}
@media (max-width: 1279px) {
  .grid-filter__line-container {
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
  }
}
@media (max-width: 767px) {
  .grid-filter__line-container {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
  }
}

.grid-filter-container.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.grid-filter__select-container {
  display: none;
}

.grid-toggle {
  position: fixed;
  bottom: 0px;
  left: 3px;
  font-size: var(--font-size-s);
  letter-spacing: var(--letter-spacing-s);
  cursor: pointer;
  display: none;
}

.related-articles-container {
  display: block;
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
}
.related-articles-container--heading {
  height: 106px;
  padding-top: 40px;
  padding: 40px 18px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .related-articles-container--heading {
    padding: 1.125rem 1.25rem 1.125rem;
    height: auto;
  }
}

.section-wrapper--related-articles-header .related-articles-container {
  margin-left: var(--col-1);
}

@media (min-width: 768px) {
  .section-wrapper--related-articles:not(.dont-hide-last-article) .flow-block:nth-child(4) {
    display: none;
  }
}
.section-wrapper--related-articles .flow-block.active:nth-child(7n+3) .flow-block-bg--square,
.section-wrapper--related-articles .flow-block .flow-block-bg {
  display: block;
}
@media (max-width: 767px) {
  .section-wrapper--related-articles .flow-block:nth-child(4) {
    display: inline-block;
  }
}

.flow-container {
  display: flex;
  flex-wrap: wrap;
  max-width: var(--site-width);
  margin: 0 auto;
}

.flow-block__video-container {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

@media (min-width: 768px) {
  .col-size-two-col .flow-block {
    width: 50% !important;
  }
  .col-size-two-col .flow-block.active .dummy {
    margin-top: 100% !important;
  }
  .col-size-three-col .flow-block {
    width: 33.333% !important;
  }
  .col-size-three-col .flow-block.active .dummy {
    margin-top: 100% !important;
  }
}
.flow-block-bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.38s ease-out 0.1s, transform 3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}

.flow-block-bg--rectangle {
  display: none;
}

.flow-block-h2 {
  transform: translateY(100%);
  opacity: 0;
  z-index: 50;
  transition: opacity 1s ease-out 0.5s, transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.image-lazyloaded .flow-block-h2 {
  transform: translateY(0%);
  opacity: 1;
}

.flow-block-bg.lazyloaded {
  opacity: 1;
}

.flow-block-category {
  display: none;
}
.flow-block-category.active {
  display: block;
}
.flow-block-category__page {
  display: none;
  height: 0;
}
.flow-block-category__page.active {
  display: flex;
  height: auto;
}

.flow-block-h2 {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
  font-weight: normal;
  color: #fff;
  display: block;
  padding: 40px;
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
  background-repeat: no-repeat;
  background-size: cover;
  font-weight: 500;
  letter-spacing: -0.025em;
}
.shadow-1 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
}
.shadow-2 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
}
.shadow-3 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
}
.shadow-4 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
}
.shadow-5 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.flow-block--bottom.shadow-1 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));
}
.flow-block--bottom.shadow-2 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
}
.flow-block--bottom.shadow-3 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3));
}
.flow-block--bottom.shadow-4 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
}
.flow-block--bottom.shadow-5 .flow-block-h2 {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
}
.flow-block--null .flow-block-h2 {
  top: auto;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}
.flow-block--bottom .flow-block-h2 {
  top: auto;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}

.flow-block.active {
  opacity: 1;
  display: inline-block;
  transition-delay: opacity 0.6s;
  width: 33.33%;
}
.flow-block.active .dummy {
  margin-top: 50%;
  margin-top: 100%;
}
.flow-block.active {
  width: 100%;
}
.flow-block.active .flow-block__video-container > div {
  padding: 100% 0 0 0 !important;
}
.flow-block.active .flow-block__video-container > div > iframe {
  width: 180% !important;
  transform: translateX(-50%) !important;
  left: 50% !important;
}
@media (min-width: 768px) {
  .flow-block.active {
    width: 50%;
  }
  .flow-block.active:nth-child(3n+1) {
    width: 100%;
  }
  .flow-block.active:nth-child(3n+1) .flow-block-bg--square {
    display: none;
  }
  .flow-block.active:nth-child(3n+1) .flow-block-bg--rectangle {
    display: block;
  }
  .flow-block.active:nth-child(3n+1) .dummy {
    margin-top: 50%;
  }
}

.load-more-container {
  max-width: var(--site-width);
  background-color: var(--load-more-background);
  margin: 0 auto;
  height: 100px;
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
  align-items: center;
  color: white;
  transition: all 0.4s;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (hover: hover) {
  .load-more-container:hover {
    color: #666;
  }
}

.load-more-button {
  text-align: center;
  width: 100%;
  height: 100%;
  padding-top: 30px;
}

@media (max-width: 767px) {
  .grid-filter__line-container {
    display: none;
    position: relative;
  }
  .grid-filter__select-container {
    padding: 18px 20px;
    display: block;
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
    font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 300;
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
  }
}
@media (max-width: 767px) and (max-width: 349px) {
  .grid-filter__select-container {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
    height: 70px;
  }
}
@media (max-width: 767px) and (min-width: 768px) {
  .grid-filter__select-container {
    padding-left: 30px;
  }
}
@media (max-width: 767px) and (min-width: 768px) {
  .grid-filter__select-container {
    padding-left: 40px;
  }
}
@media (max-width: 767px) {
  .grid-filter__select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: transparent;
    pointer-events: none;
    border: 0;
    font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
    padding-left: 0;
    color: var(--white);
    outline: none;
    cursor: pointer;
  }
}
@media (max-width: 767px) and (max-width: 349px) {
  .grid-filter__select {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
  }
}
@media (max-width: 767px) {
  .grid-filter__text__prefix {
    color: var(--middle-grey);
  }
  .wrapper.blur .grid-filter__text {
    pointer-events: none;
  }
  .grid-filter__option {
    -webkit-appearance: none;
    background: #fff;
    border: 0;
    color: var(--middle-grey);
    width: 100%;
  }
  .flow-block {
    padding: 0px;
  }
  .flow-block-h2 {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
    padding: 30px;
  }
  .article .flow-container {
    display: block;
  }
  .article .flow-block--1-3 {
    width: 100%;
    flex-grow: 3;
    margin-bottom: -30px;
    border: 30px solid black;
  }
  .article .flow-block-h2 {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
  }
  .related-articles-container {
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    color: black;
    background-color: white;
  }
  .section-wrapper--related-articles-header {
    margin-bottom: 30px;
  }
  .section-wrapper--related-articles-header .related-articles-container {
    margin-left: 2.5rem;
  }
  .load-more-container {
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
  }
}
.hidden_tmp_select {
  display: none;
}

@media (max-width: 767px) {
  .flow-block-h2 {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
    padding: 20px;
  }
  .load-more-container {
    height: 75px;
  }
  .load-more-button {
    padding-top: 0;
    line-height: 75px;
    font-size: var(--font-size-m);
    letter-spacing: var(--letter-spacing-m);
  }
}
.content-grid--phc .flow-block,
.content-grid--phc .flow-block:nth-child(3n+1) {
  width: 100%;
}
@media (min-width: 768px) {
  .content-grid--phc .flow-block-category--everything .flow-block,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) {
    width: 50%;
  }
  .content-grid--phc .flow-block-category--everything .flow-block .flow-block-bg--square,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .flow-block-bg--square {
    display: block;
  }
  .content-grid--phc .flow-block-category--everything .flow-block .flow-block-bg--rectangle,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .flow-block-bg--rectangle {
    display: none;
  }
  .content-grid--phc .flow-block-category--everything .flow-block .dummy,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .dummy {
    margin-top: 100%;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) {
    width: 100%;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .flow-block-bg--square,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .flow-block-bg--square {
    display: none;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .flow-block-bg--rectangle,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .flow-block-bg--rectangle {
    display: block;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .dummy,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .dummy {
    margin-top: 50%;
  }
}
@media (max-width: 767px) {
  .content-grid--phc .flow-block-category--everything .flow-block .flow-block-bg--square,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .flow-block-bg--square {
    display: none;
  }
  .content-grid--phc .flow-block-category--everything .flow-block .flow-block-bg--rectangle,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .flow-block-bg--rectangle {
    display: block;
  }
  .content-grid--phc .flow-block-category--everything .flow-block .dummy,
  .content-grid--phc .flow-block-category--everything .flow-block:nth-child(3n+1) .dummy {
    margin-top: 50%;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .flow-block-bg--square,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .flow-block-bg--square {
    display: block;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .flow-block-bg--rectangle,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .flow-block-bg--rectangle {
    display: none;
  }
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block .dummy,
  .content-grid--phc .flow-block-category:not(.flow-block-category--everything) .flow-block:nth-child(3n+1) .dummy {
    margin-top: 100%;
  }
}
.content-grid--phc .flow-block-h2 {
  padding: 1.25rem;
}

.wrapper-hero-slides {
  background-color: var(--extension-home-slides);
}

.hero-slides {
  position: relative;
  margin: 0 auto;
  max-width: var(--site-width);
  width: 100%;
  background-color: var(--black);
}
.hero-slides .plyr__controls {
  display: none;
}
.hero-slides-container {
  position: relative;
  width: 100%;
  background-color: var(--black);
  overflow: hidden;
}

.hero {
  width: 100%;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding-bottom: calc((var(--site-width)) * 0.5625);
}
@media (max-width: 767px) {
  .hero {
    padding-bottom: 118.5%;
  }
  .hero:before {
    display: block;
    content: "";
    padding-bottom: 56.25%;
    width: 0px;
  }
}
.hero--video {
  padding-bottom: 0;
}
a > .hero--video {
  pointer-events: none;
}
@media (max-width: 767px) {
  .hero--video:before {
    padding-bottom: 0;
  }
}
.hero__caption {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.hero__profile-link {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 120;
  padding: 2.5rem;
  color: var(--phc-white-af);
  text-decoration: none;
}
@media (max-width: 767px) {
  .hero__profile-link {
    padding: 1.25rem;
  }
}

.hero-article__caption {
  position: absolute;
  left: 2.5rem;
  right: 2.5rem;
  bottom: 30px;
  color: var(--white);
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
}
@media (min-width: 768px) {
  .hero-article__caption {
    bottom: 40px;
    left: var(--col-1);
    right: var(--col-2);
  }
}
.hero-article__img {
  width: 100%;
  height: auto;
}

.hero-video__caption {
  position: absolute;
  left: 2.5rem;
  right: 2.5rem;
  bottom: 20px;
  color: var(--white);
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
}
@media (max-width: 767px) {
  .hero-video__caption {
    font-size: var(--font-size-s);
    line-height: var(--line-height-s);
    letter-spacing: var(--letter-spacing-s);
  }
  .hero-video__caption br {
    display: none;
  }
}
@media (min-width: 768px) {
  .hero-video__caption {
    bottom: 40px;
    font-size: var(--font-size-l);
    line-height: var(--line-height-l);
    letter-spacing: var(--letter-spacing-l);
    left: var(--col-1);
    right: var(--col-1);
  }
}

.tagline {
  left: var(--col-1);
  right: var(--col-1);
}

.center-tagline .tagline {
  top: auto;
  bottom: 20px;
  left: 2.5rem;
}
@media (min-width: 768px) {
  .center-tagline .tagline {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    width: var(--col-10);
    transform: translate(-50%, -50%);
    text-align: center;
  }
}

.bottom-tagline .tagline {
  top: auto;
  bottom: 20px;
  left: 2.5rem;
}
@media (min-width: 768px) {
  .bottom-tagline .tagline {
    bottom: 40px;
    left: var(--col-1);
  }
}

.top-tagline .tagline {
  top: auto;
  bottom: 20px;
  left: 2.5rem;
}
@media (min-width: 768px) {
  .top-tagline .tagline {
    top: 145px;
    left: var(--col-1);
  }
}

.hero-slide {
  position: absolute;
  z-index: 100;
  top: 0px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: auto;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: opacity 0.38s ease-out 0.1s, transform 3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
.hero-slide.active {
  opacity: 1;
  z-index: 110;
}
.hero-slide__img {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: block;
  opacity: 0;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  transition: opacity 0.38s ease-out 0.1s, transform 3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
.hero-slide__img.lazyloaded {
  opacity: 1;
}
.hero-slide__img--desktop {
  display: none;
}
@media (min-width: 768px) {
  .hero-slide__img {
    position: absolute;
    height: 100%;
  }
  .hero-slide__img--mobile {
    display: none;
  }
  .hero-slide__img--desktop {
    display: block;
  }
}

.hero--hasthumbnails .bottom-tagline .tagline {
  bottom: 44px;
}
@media (min-width: 768px) {
  .hero--hasthumbnails .bottom-tagline .tagline {
    bottom: 45px;
    left: 2.5rem;
  }
}
@media (min-width: 768px) {
  .hero--hasthumbnails .bottom-tagline .tagline {
    bottom: 80px;
    left: var(--col-1);
  }
}

.hero--hasthumbnails .top-tagline .tagline {
  bottom: 50px;
}

.hero--hasthumbnails .center-tagline .tagline {
  bottom: 50px;
}
@media (min-width: 768px) {
  .hero--hasthumbnails .center-tagline .tagline {
    bottom: auto;
    bottom: top;
  }
}

.hero-slide-link {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 199;
}
.hero-slide-link .tagline::after {
  content: "→";
  padding-left: 5px;
  padding-right: 15px;
  transition: all 0.2s ease-out;
}
.hero-slide-link .tagline:hover::after {
  padding-left: 15px;
  padding-right: 5px;
}

.tagline {
  display: inline-block;
  color: white;
  background-color: transparent;
  font-family: "Inter", Helvetica, "Helvetica Neue", Arial;
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
  letter-spacing: var(--letter-spacing-l);
  transition: height 1s;
  text-align: left;
  top: 0;
  left: 0;
  position: absolute;
}
@media (max-width: 767px) {
  .tagline {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
  }
  .tagline-container {
    width: 100%;
    height: 89vh;
    max-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  .tagline {
    font-size: var(--font-size-m);
    line-height: var(--line-height-m);
    letter-spacing: var(--letter-spacing-m);
    text-align: left;
    left: 2.5rem;
  }
}

.slides-thumbnails {
  position: absolute;
  z-index: 150;
  bottom: 44px;
  left: 50%;
  left: 33.33%;
  right: 33.33%;
  display: none;
  justify-content: center;
  max-width: var(--col-4);
  min-height: 100px;
}
@media (min-width: 768px) {
  .slides-thumbnails:hover .slides-thumbnail__img {
    bottom: 0;
  }
}

.hero--hasthumbnails .slides-thumbnails {
  display: flex;
}

.slides-thumbnail {
  width: calc(((var(--col-4)) -16px) / 3);
  height: auto;
  flex: 1;
  margin: 0 4px;
  display: block;
  position: relative;
  border-bottom: 2px solid #fff;
  overflow: hidden;
  opacity: 1;
}
.slides-thumbnail:first-child {
  margin-left: 0;
}
.slides-thumbnail:last-child {
  margin-right: 0;
}
.slides-thumbnail:after {
  position: absolute;
  content: "";
  border-bottom: 8px solid #fff;
  display: block;
  bottom: 0;
  left: 0;
  width: 0px;
}
.slides-thumbnail__img {
  background-size: cover;
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  bottom: -100%;
  cursor: pointer;
  left: 0;
  right: 0;
  transition: bottom 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  opacity: 1;
}
@media (max-width: 767px) {
  .slides-thumbnail__img {
    display: none;
  }
}
.slides-thumbnail:before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  display: block;
  margin: 0 auto;
}
.slides-thumbnail.active:after {
  width: 100%;
  transition: width 4.5s linear;
}
.slides-thumbnail-1 img {
  transition-delay: 0s;
}
.slides-thumbnail-2 img {
  transition-delay: 0.07s;
}
.slides-thumbnail-3 img {
  transition-delay: 0.14s;
}

@media (max-width: 767px) {
  .slides-thumbnails {
    left: 2.5rem;
    right: 2.5rem;
    bottom: 2.5rem;
    width: calc(100vw - 2 * 2.5rem);
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .slides-thumbnail__img {
    display: none;
  }
}
/*
  Plugin markup for GDPR popup


<div class="cli-bar-container cli-style-v2">
<div class="cli-bar-header">We use cookies</div>
<div class="cli-bar-message">We use cookies to offer you a better experience and analyze site traffic. For more detailed information, view our <a href="/privacy-policy-website/" class="arrow-link">Privacy policy</a></div>
<div class="cli-bar-buttons">
[cookie_reject][cookie_button]
</div>
</div>
*/
#cookie-law-info-bar {
  background: var(--black) !important;
  color: var(--white) !important;
  padding: var(--section-margin) !important;
  bottom: var(--section-margin) !important;
  left: var(--section-margin) !important;
  text-align: left;
}
#cookie-law-info-bar br {
  display: none;
}
#cookie-law-info-bar .cli-bar-header {
  font-weight: normal;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  letter-spacing: var(--letter-spacing-m);
  margin-bottom: 10px;
  margin-top: 0;
}
#cookie-law-info-bar .cli-bar-message {
  line-height: 16px;
}
#cookie-law-info-bar .cli-bar-message a {
  color: var(--middle-grey);
  text-decoration: none;
}
@media (hover: hover) {
  #cookie-law-info-bar .cli-bar-message a:hover {
    text-decoration: none;
  }
}
#cookie-law-info-bar .cli_action_button {
  text-transform: uppercase;
  line-height: 40px;
  border: 1px solid white;
  font-size: var(--font-size-s);
  margin: 24px 0 0 !important;
  width: 46%;
  text-align: center;
  border-radius: 0;
  padding: 4px 16px;
}
#cookie-law-info-bar .cli_action_button:first-of-type {
  margin-right: 8% !important;
}
@media (max-width: 767px) {
  #cookie-law-info-bar {
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
  }
  #cookie-law-info-bar .cli-bar-buttons {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  #cookie-law-info-bar .cli_action_button {
    width: 100%;
  }
  #cookie-law-info-bar .cli_action_button:first-of-type {
    margin-right: 0 !important;
  }
}

.text-phc-pagefigures {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(8 * var(--phc-root));
  font-weight: 500;
  line-height: calc(9.875 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-pagefigures p,
.text-phc-pagefigures li,
.text-phc-pagefigures blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-pagefiguressupport {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(5 * var(--phc-root));
  font-weight: 600;
  line-height: calc(6.125 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-pagefiguressupport p,
.text-phc-pagefiguressupport li,
.text-phc-pagefiguressupport blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-title-regular {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(4 * var(--phc-root));
  font-weight: 300;
  line-height: calc(4.125 * var(--phc-root));
  letter-spacing: -0.05em;
  font-feature-settings: "salt" 1;
}
.text-phc-title-regular p,
.text-phc-title-regular li,
.text-phc-title-regular blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-title-profile {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(2.625 * var(--phc-root));
  font-weight: 400;
  line-height: calc(2.75 * var(--phc-root));
  letter-spacing: -0.02em;
  font-feature-settings: "salt" 1;
}
.text-phc-title-profile p,
.text-phc-title-profile li,
.text-phc-title-profile blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-footerlinkage {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1.75 * var(--phc-root));
  font-weight: 500;
  line-height: calc(2.25 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-footerlinkage p,
.text-phc-footerlinkage li,
.text-phc-footerlinkage blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-standard {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1.375 * var(--phc-root));
  font-weight: 400;
  line-height: calc(1.5 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-standard p,
.text-phc-standard li,
.text-phc-standard blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-smalltype {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1 * var(--phc-root));
  font-weight: 500;
  line-height: calc(1.125 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-smalltype p,
.text-phc-smalltype li,
.text-phc-smalltype blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-standard-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(1.125 * var(--phc-root));
  font-weight: 400;
  line-height: calc(1.5 * var(--phc-root));
  letter-spacing: -0.04em;
  font-feature-settings: "salt" 1;
}
.text-phc-standard-jp p,
.text-phc-standard-jp li,
.text-phc-standard-jp blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-smalltype-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(0.875 * var(--phc-root));
  font-weight: 500;
  line-height: calc(1.125 * var(--phc-root));
  letter-spacing: -0.02em;
  font-feature-settings: "salt" 1;
}
.text-phc-smalltype-jp p,
.text-phc-smalltype-jp li,
.text-phc-smalltype-jp blockquote {
  font: inherit;
  letter-spacing: inherit;
}

.text-phc-smallbold {
  font-family: "Suisse Intl", sans-serif;
  font-size: calc(1 * var(--phc-root));
  font-weight: 600;
  line-height: calc(1.125 * var(--phc-root));
  letter-spacing: 0;
  font-feature-settings: "salt" 1;
}
.text-phc-smallbold p,
.text-phc-smallbold li,
.text-phc-smallbold blockquote {
  font: inherit;
  letter-spacing: inherit;
}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsInV0aWxzL3V0aWwuc2NzcyIsInV0aWxzL19taXhpbnMuc2NzcyIsInZlbmRvci9pbmNsdWRlLW1lZGlhLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvZmxpY2tpdHkuc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19ncmlkLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LWxlZ2FjeS5zY3NzIiwiYmFzZS9faGVhZGVyLnNjc3MiLCJiYXNlL19tZW51LnNjc3MiLCJiYXNlL19mb290ZXIuc2NzcyIsImJhc2UvX2Zvb3Rlci1yZWRlc2lnbi5zY3NzIiwiZm9ybXMvX3RleHQuc2NzcyIsImZvcm1zL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzIiwiY29tcG9uZW50cy9fYXJyb3cuc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrLXJlbGF0ZWQuc2NzcyIsImNvbXBvbmVudHMvX2ludHJvLXNlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2ZsZXhpYmxlLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1ncmlkLXJlZGVzaWduLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19jb29raWUtY29uc2VudC5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1zdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNDUixzR0FBQTtBQ0lSO0VDSEUsV0FEdUQ7RUFFdkQsY0FGc0I7RUFHdEIsa0JBSG1DO0FIS3JDOztBRUdBO0VBQ0UsZUFBQTtBRkFGOztBRUlFO0VBQ0UsOEJBQUE7QUZESjtBRUdFO0VBQ0UsOEJBQUE7QUZESjs7QUVNRTtFQUNFLDhCQUFBO0FGSEo7QUVPRTtFQUNFLG1DQUFBO0FGTEo7QUVPRTtFQUNFLDhCQUFBO0FGTEo7QUVPRTtFQUNFLGlDQUFBO0FGTEo7QUVPRTtFQUNFLGtDQUFBO0FGTEo7QUVPRTtFQUNFLG9DQUFBO0FGTEo7QUVPRTtFQUNFLHVDQUFBO0FGTEo7O0FFU0E7RUFDRSx3QkFBQTtFQUNBLGtCQUFBO0FGTkY7O0FFVUU7RUFDRSxjQUFBO0VBQ0EsWUFBQTtBRlBKO0FFVUU7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QUZSSjs7QUVZQTtFQUNFLGVBQUE7QUZURjs7QUltZkk7RUZ0ZUY7SUFDRSxlQUFBO0VGVEY7RUVZQTs7SUFFRSx3QkFBQTtFRlZGO0VFWUE7SUFDRSx5QkFBQTtFRlZGO0FBQ0Y7QUlzZUk7RUZ4ZEY7O0lBRUUsd0JBQUE7RUZYRjtBQUNGO0FJZ2VJO0VGbGRGOztJQUVFLHdCQUFBO0VGWEY7QUFDRjtBSTBkSTtFRjVjRjs7O0lBR0Usd0JBQUE7RUZYRjtFRWFBO0lBQ0UseUJBQUE7RUZYRjtBQUNGO0FLT0E7RUFDRSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7RUFDQSw4QkFBQTtFQUNBLHVCQUFBO0VBQ0Esc0NBQUE7RUFDQSxrREFBQTtFQUNBLDRCQUFBO0VBQ0EscUNBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsaUNBQUE7RUFDQSxpQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQ0FBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLG9CQUFBO0VBQ0EscUJBQUE7RUFDQSxxQkFBQTtFQUNBLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtFQUlBLHVCQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSwyQkFBQTtFQUNBLG1CQUFBO0VBQ0EsMkJBQUE7RUFDQSxvQkFBQTtFQUdBLDBCQUFBO0VBQ0EsNkJBQUE7RUFDQSxvQ0FBQTtFQUNBLDJCQUFBO0VBQ0EsOEJBQUE7RUFFQSx1QkFBQTtFQVlBLDJCQUFBO0VBS0EsZ0JBQUE7RUFTQSxvQ0FBQTtFQUNBLDhCQUFBO0VBQ0EseUNBQUE7RUFhQSw2Q0FBQTtFQUtBLDBDQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtBTGxERjs7QUt3REE7RUFDRSw2QkFBQTtFQUNBLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSxtQ0FBQTtBTHJERjs7QUkwWEk7RUNqVUY7SUFDRSxtQkFBQTtFTHJERjtBQUNGO0FNekxBOztnREFBQTtBQUdBLGNBQUE7QUFDQSw4QkFBQTtBQUNBLG9DQUFBO0FBQ0Esa0JBQUE7QUFDQSx3QkFBQTtBQUNBO0VBQ0Usa0JBQUE7QU4yTEY7QU0xTEU7RUFDRSxhQUFBO0FONExKOztBTXpMQTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FONExGOztBTTFMQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QU42TEY7O0FNM0xBO0VBQ0Usd0NBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBRUEsaUJBQUE7QU44TEY7QU03TEU7RUFDRSxZQUFBO0VBRUEsWUFBQTtBTitMSjtBTTdMRTtFQUVFLGdCQUFBO0FOK0xKOztBTTVMQTtFQUNFLGtCQUFBO0VBQ0EsbUNBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtBTitMRjtBTTlMRTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtBTmdNSjtBTTlMRTtFQUNFLGFBQUE7RUFDQSwwQkFBQTtBTmdNSjtBTTlMRTtFQUNFLFlBQUE7QU5nTUo7QU05TEU7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0FOZ01KOztBTTdMQTtFQUNFLGtCQUFBO0FOZ01GOztBTTlMQTtFQUNFLFFBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsMkJBQUE7QU5pTUY7QU1oTUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7QU5rTUo7O0FNL0xBO0VBQ0UsVUFBQTtBTmtNRjs7QU1oTUE7RUFDRSxXQUFBO0FObU1GOztBTWhNRTtFQUNFLFVBQUE7RUFDQSxXQUFBO0FObU1KO0FNak1FO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QU5tTUo7QU1qTUU7RUFDRSxjQUFBO0FObU1KOztBTWhNQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0FObU1GO0FNak1FO0VBQ0UscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGVBQUE7QU5tTUo7QU1qTUU7RUFDRSxVQUFBO0FObU1KOztBTzFUQSwyRUFBQTtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRSxpQkFBQSxFQUFBLE1BQUE7RUFDQSw4QkFBQSxFQUFBLE1BQUE7QVAwVEY7O0FPdlRBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QVB3VEY7O0FPclRBOztFQUFBO0FBSUE7RUFDRSxjQUFBO0FQdVRGOztBT3BUQTs7O0VBQUE7QUFLQTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBUHNURjs7QU9uVEE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBLEVBQUEsTUFBQTtFQUNBLFNBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0FQb1RGOztBT2pUQTs7O0VBQUE7QUFLQTtFQUNFLGlDQUFBLEVBQUEsTUFBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0FQbVRGOztBT2hUQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRSw2QkFBQTtBUGlURjs7QU85U0E7OztFQUFBO0FBS0E7RUFDRSxtQkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFDQSx5Q0FBQTtVQUFBLGlDQUFBLEVBQUEsTUFBQTtBUGdURjs7QU83U0E7O0VBQUE7QUFJQTs7RUFFRSxtQkFBQTtBUCtTRjs7QU81U0E7OztFQUFBO0FBS0E7OztFQUdFLGlDQUFBLEVBQUEsTUFBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0FQOFNGOztBTzNTQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBUDZTRjs7QU8xU0E7OztFQUFBO0FBS0E7O0VBRUUsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBO0FQNFNGOztBT3pTQTtFQUNFLGVBQUE7QVA0U0Y7O0FPelNBO0VBQ0UsV0FBQTtBUDRTRjs7QU96U0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0Usa0JBQUE7QVAwU0Y7O0FPdlNBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBS0Usb0JBQUEsRUFBQSxNQUFBO0VBQ0EsZUFBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7RUFDQSxTQUFBLEVBQUEsTUFBQTtBUHdTRjs7QU9yU0E7OztFQUFBO0FBS0E7UUFDUSxNQUFBO0VBQ04saUJBQUE7QVB1U0Y7O0FPcFNBOzs7RUFBQTtBQUtBO1NBQ1MsTUFBQTtFQUNQLG9CQUFBO0FQc1NGOztBT25TQTs7RUFBQTtBQUlBOzs7O0VBSUUsMEJBQUE7QVBxU0Y7O0FPbFNBOztFQUFBO0FBSUE7Ozs7RUFJRSxrQkFBQTtFQUNBLFVBQUE7QVBvU0Y7O0FPalNBOztFQUFBO0FBSUE7Ozs7RUFJRSw4QkFBQTtBUG1TRjs7QU9oU0E7O0VBQUE7QUFJQTtFQUNFLDhCQUFBO0FQa1NGOztBTy9SQTs7Ozs7RUFBQTtBQU9BO0VBQ0Usc0JBQUEsRUFBQSxNQUFBO0VBQ0EsY0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtFQUNBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsVUFBQSxFQUFBLE1BQUE7RUFDQSxtQkFBQSxFQUFBLE1BQUE7QVBpU0Y7O0FPOVJBOztFQUFBO0FBSUE7RUFDRSx3QkFBQTtBUGdTRjs7QU83UkE7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QVArUkY7O0FPNVJBOzs7RUFBQTtBQUtBOztFQUVFLHNCQUFBLEVBQUEsTUFBQTtFQUNBLFVBQUEsRUFBQSxNQUFBO0FQOFJGOztBTzNSQTs7RUFBQTtBQUlBOztFQUVFLFlBQUE7QVA2UkY7O0FPMVJBOzs7RUFBQTtBQUtBO0VBQ0UsNkJBQUEsRUFBQSxNQUFBO0VBQ0Esb0JBQUEsRUFBQSxNQUFBO0FQNFJGOztBT3pSQTs7RUFBQTtBQUlBO0VBQ0Usd0JBQUE7QVAyUkY7O0FPeFJBOzs7RUFBQTtBQUtBO0VBQ0UsMEJBQUEsRUFBQSxNQUFBO0VBQ0EsYUFBQSxFQUFBLE1BQUE7QVAwUkY7O0FPdlJBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLGNBQUE7QVB3UkY7O0FPclJBOztFQUFBO0FBSUE7RUFDRSxrQkFBQTtBUHVSRjs7QU9wUkE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsYUFBQTtBUHFSRjs7QU9sUkE7O0VBQUE7QUFJQTtFQUNFLGFBQUE7QVBvUkY7O0FDNW1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUhBQUE7QUQrbUJGO0FDNW1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUlBQUE7QUQ4bUJGO0FDem1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUhBQUE7QUQybUJGO0FDeG1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUlBQUE7QUQwbUJGO0FDcm1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUhBQUE7QUR1bUJGO0FDcG1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUlBQUE7QURzbUJGO0FDbG1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMkhBQUE7QURvbUJGO0FDam1CQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUlBQUE7QURtbUJGO0FDdGxCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsK0hBQUE7QUR3bEJGO0FDcmxCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsMklBQUE7QUR1bEJGO0FDbGxCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUlBQUE7QURvbEJGO0FDL2tCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUlBQUE7QURpbEJGO0FDOWtCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsNklBQUE7QURnbEJGO0FDM2tCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUlBQUE7QUQ2a0JGO0FDMWtCQTtFQUNFLDBCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUpBQUE7QUQ0a0JGO0FReHRCQTtFQUNFLHdCQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSx3QkFBQTtFQUNBLDhEQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7QVIwdEJGO0FReHRCRTtFQUNFLFVBQUE7QVIwdEJKO0FRdnRCRTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLHFDQUFBO0VBQ0EsNEJBQUE7RUFDQSxZQUFBO0FSeXRCSjtBUXh0Qkk7RUFDRSxXQUFBO0VBQ0EsMkJBQUE7QVIwdEJOO0FReHRCSTtFQUNFLDRDQUFBO0FSMHRCTjtBUXh0Qkk7RUFDRSw0Q0FBQTtBUjB0Qk47QVF4dEJJO0VBQ0UsV0FBQTtFQUNBLDRCQUFBO0FSMHRCTjs7QVFydEJBO0VBQ0UsV0FBQTtFQUtBLGtCQUFBO0FSb3RCRjtBUWx0QkU7RUFFRSxvQkFBQTtBUm10Qko7QVE3dEJBO0VBYUUsZ0NBQUE7QVJtdEJGOztBUWh0QkE7RUFDRSxhQUFBO0VBQ0EsZUFBQTtBUm10QkY7O0FRaHRCQTtFQUNFLFlBQUE7QVJtdEJGO0FRanRCRTtFQUNFLFlBQUE7QVJtdEJKO0FRaHRCRTtFQUNFLGFBQUE7QVJrdEJKO0FRL3NCRTtFQUNFLFVBQUE7QVJpdEJKO0FROXNCRTtFQUNFLGFBQUE7QVJndEJKO0FRN3NCRTtFQUNFLGFBQUE7QVIrc0JKO0FRNXNCRTtFQUNFLFVBQUE7QVI4c0JKO0FRM3NCRTtFQUNFLGFBQUE7QVI2c0JKO0FRMXNCRTtFQUNFLGFBQUE7QVI0c0JKO0FRenNCRTtFQUNFLFVBQUE7QVIyc0JKO0FReHNCRTtFQUNFLGFBQUE7QVIwc0JKO0FRdnNCRTtFQUNFLGFBQUE7QVJ5c0JKO0FRdHNCRTtFQUNFLFdBQUE7QVJ3c0JKOztBUW5zQkU7RUFDRSxrQkFBQTtBUnNzQko7QVFuc0JFO0VBQ0UsbUJBQUE7QVJxc0JKO0FRbHNCRTtFQUNFLGdCQUFBO0FSb3NCSjtBUWpzQkU7RUFDRSxtQkFBQTtBUm1zQko7QVFoc0JFO0VBQ0UsbUJBQUE7QVJrc0JKO0FRL3JCRTtFQUNFLGdCQUFBO0FSaXNCSjtBUTlyQkU7RUFDRSxtQkFBQTtBUmdzQko7QVE3ckJFO0VBQ0UsbUJBQUE7QVIrckJKO0FRNXJCRTtFQUNFLGdCQUFBO0FSOHJCSjtBUTNyQkU7RUFDRSxtQkFBQTtBUjZyQko7QVExckJFO0VBQ0UsbUJBQUE7QVI0ckJKO0FRenJCRTtFQUNFLGlCQUFBO0FSMnJCSjs7QVF0ckJJO0VBQ0UsV0FBQTtBUnlyQk47QVFyckJJO0VBQ0UsVUFBQTtBUnVyQk47QVFuckJJO0VBQ0UsY0FBQTtBUnFyQk47QVF4cUJJO0VBQ0UsVUFBQTtBUjBxQk47O0FJMVRJO0VJeFdFO0lBQ0UsV0FBQTtFUnNxQk47RVFscUJJO0lBQ0UsVUFBQTtFUm9xQk47RVFscUJNO0lBQ0UsV0FBQTtFUm9xQlI7RVEvcEJJO0lBQ0UsY0FBQTtFUmlxQk47RVEvcEJNO0lBQ0UsV0FBQTtFUmlxQlI7RVE1cEJJO0lBQ0UsVUFBQTtFUjhwQk47RVE1cEJNO0lBQ0UsV0FBQTtFUjhwQlI7QUFDRjtBUy8zQkE7RUFDRSxzQkFBQTtFQU1BLGVBQUE7QVQ0M0JGO0FJdFZJO0VLN2lCSjtJQWtCSSxpQ0FBQTtFVHEzQkY7QUFDRjtBU3gyQkU7RUFoQ0Y7SUFpQ0ksaUZBQUE7RVQyMkJGO0FBQ0Y7QVM3NEJBO0VBb0NFLDhCQUFBO0VBQ0EsbUNBQUE7QVQ0MkJGO0FTMTJCRTtFQUNFLGVBQUE7RUFDQSw4QkFBQTtBVDQyQko7QUl4V0k7RUt0Z0JGO0lBS0ksOEJBQUE7RVQ2MkJKO0FBQ0Y7QVNuM0JFO0VBYUUsZ0JBQUE7QVR5MkJKO0FTcDJCSTtFQWxCRjtJQW1CSSxrRkFBQTtFVHUyQko7QUFDRjs7QVNuMkJBOzs7RUFHRSxtQkFBQTtBVHMyQkY7O0FTbjJCQTtFQUNFLG1DQUFBO0VBQ0Esb0NBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLHdEQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0VBSUEsK0JBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7RUFDQSwrQkFBQTtFQUNBLCtCQUFBO0VBQ0EsK0JBQUE7QVRtMkJGOztBUzMxQkE7RUFDRSxtQkFBQTtFQUNBLGlCQUFBO0FUODFCRjs7QVNoMkJBO0VBQ0UsbUJBQUE7RUFDQSxpQkFBQTtBVDgxQkY7O0FTMzFCQTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7QVQ4MUJGO0FTNTFCRTtFQUNFLHlCQUFBO0FUODFCSjs7QVMxMUJBO0VBQ0Usc0JBQUE7QVQ2MUJGOztBUzExQkE7RUFDRSxzQkFBQTtBVDYxQkY7O0FTMTFCQTtFQUNFLHNCQUFBO0FUNjFCRjs7QVMxMUJBO0VBQ0Usc0JBQUE7QVQ2MUJGOztBUzExQkE7RUFDRSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QVQ2MUJGOztBUzExQkE7RUFDRSxnQkFBQTtBVDYxQkY7O0FTeDFCRTs7RUFDRSxhQUFBO0FUNDFCSjtBU3oxQkU7O0VBQ0UsYUFBQTtBVDQxQko7QVN6MUJFOztFQUNFLG1CQUFBO0VBQ0EsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0FUNDFCSjtBU3oxQkU7O0VBQ0UsZ0JBQUE7QVQ0MUJKO0FJM2NJO0VLN1lBOztJQUNFLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtJQUNBLGtCQUFBO0VUNDFCSjtBQUNGOztBU3gxQkE7RUFDRSxlQUFBO0VBQ0EscUJBQUE7QVQyMUJGO0FTejFCRTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBVDIxQko7QVN6MUJJO0VBQ0UsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsT0FBQTtBVDIxQk47QUluZUk7RUtoWUY7SUFZSSxrQkFBQTtFVDIxQko7QUFDRjs7QVN2MUJBO0VBQ0UsZ0JBQUE7RUFDQSx5Q0FBQTtBVDAxQkY7QVN4MUJFO0VBQ0Usa0JBQUE7RUFDQSw2Q0FBQTtBVDAxQko7QVN4MUJJO0VBQ0UsNENBQUE7RUFDQSxrQkFBQTtFQUNBLDRCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0FUMDFCTjs7QVNwMUJBO0VBQ0UsV0FBQTtFQUNBLGNBQUE7QVR1MUJGO0FTcjFCRTtFQUNFLDRCQUFBO0FUdTFCSjtBU3AxQkU7RUFDRSxtQkFBQTtFQUNBLDhCQUFBO0FUczFCSjtBU24xQkU7RUFDRSxvQ0FBQTtFQUNBLG1CQUFBO0FUcTFCSjs7QVM5MEJFOzs7O0VBRUUsbUJBQUE7QVRtMUJKOztBUzUwQkE7RUFDRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLDRCQUFBO0FUKzBCRjtBUzcwQkU7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7QVQrMEJKOztBUzMwQkE7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0FUODBCRjs7QVMzMEJBO0VBQ0Usb0JBQUE7RUFDQSw0QkFBQTtBVDgwQkY7O0FTMzBCQTtFQUNFLGtCQUFBO0FUODBCRjs7QVMxMEJFO0VBQ0UsWUFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdDQUFBO0FUNjBCSjtBUzEwQkU7RUFDRTtJQUNFLHFCQUFBO0VUNDBCSjtFUzEwQkk7SUFDRSxpQkFBQTtFVDQwQk47QUFDRjs7QVN2MEJBO0VBQ0UscUJBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7QVQwMEJGOztBU24wQk07RUFDRSxxQkFBQTtBVHMwQlI7QVNqMEJFO0VBQ0UsV0FBQTtBVG0wQko7QVMxekJFO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBVDR6Qko7QVN0ekJJO0VBQ0UscUJBQUE7RUFDQSx5QkFBQTtBVHd6Qk47QVN0ekJNO0VBQ0UsMEJBQUE7QVR3ekJSO0FTN3lCSTs7Ozs7O0VBQ0UscUJBQUE7RUFDQSx5QkFBQTtBVG96Qk47QVNsekJNOzs7Ozs7RUFDRSwwQkFBQTtBVHl6QlI7QVNyekJROzs7Ozs7RUFDRSxxQkFBQTtBVDR6QlY7O0FTeHlCQTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtBVDJ5QkY7O0FTdnlCQTtFQUNFLHdCSmpYYztBTDJwQ2hCOztBU3Z5QkE7RUFDRSx3Q0FBQTtFQUNBLDRDQUFBO0VBQ0Esa0RBQUE7QVQweUJGOztBU3h5QkE7RUFDRSx3Q0FBQTtFQUNBLDRDQUFBO0VBQ0Esa0RBQUE7QVQyeUJGOztBU3p5QkE7RUFDRSx3Q0FBQTtFQUNBLDRDQUFBO0VBQ0Esa0RBQUE7QVQ0eUJGOztBUzF5QkE7RUFDRSx5Q0FBQTtFQUNBLDZDQUFBO0VBQ0EsbURBQUE7QVQ2eUJGOztBUzN5QkE7RUFDRSwwQ0FBQTtFQUNBLDhDQUFBO0VBQ0Esb0RBQUE7QVQ4eUJGOztBVTNxQ0E7O0VBRUUsd0NBQUE7QVY4cUNGO0FVNXFDRTs7RUFDRSwrQkFBQTtFQUNBLG9CQUFBO0FWK3FDSjs7QVU1cENFOztFQUNFLDRFQUFBO0FWZ3FDSjs7QVU1cENBO0VQekJFLHNDQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLDBDQUFBO0VBQ0EsdUJBQUE7RUFDQSwrQkFBQTtFT3VCQSxtQkFBQTtBVm1xQ0Y7O0FVaHFDQTtFUC9CRSxzQ0FBQTtFQUNBLHdDQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5Q0FBQTtFQUNBLHVCQUFBO0VBQ0EsK0JBQUE7RU82QkEsbUJBQUE7QVZ1cUNGOztBVXBxQ0E7RVByQ0Usc0NBQUE7RUFDQSx1Q0FBQTtFQUNBLGdCQUFBO0VBQ0EseUNBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0VPbUNBLG1CQUFBO0FWMnFDRjs7QVV4cUNBOzs7RVAzQ0Usc0NBQUE7RUFDQSx3Q0FBQTtFQUNBLGdCQUFBO0VBQ0Esd0NBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0VPMkNBLG1CQUFBO0FWK3FDRjs7QVU1cUNBO0VQbkRFLHNDQUFBO0VBQ0Esd0NBQUE7RUFDQSxnQkFBQTtFQUNBLHdDQUFBO0VBQ0EsaUJBQUE7RUFDQSwrQkFBQTtFT2lEQSxtQkFBQTtBVm1yQ0Y7O0FVaHJDQTtFUHpERSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsK0JBQUE7QUg2dUNGOztBVzF2Q0E7RUFTRSw4QkFBQTtFQUNBLG1CQUFBO0FYcXZDRjtBV252Q0U7RUFDRSxnQkFBQTtFQUNBLDhCQUFBO0VBQ0Esa0NBQUE7RUFDQSx3Q0FBQTtFQUNBLFNBQUE7RUFDQSxtQkFBQTtBWHF2Q0o7QVdsdkNFOzs7OztFQUtFLGdCQUFBO0FYb3ZDSjtBV2p2Q0U7RUFDRSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7RUFDQSxvQ0FBQTtBWG12Q0o7QVcvdUNJO0VBQ0UsOEJBQUE7RUFDQSxrQ0FBQTtFQUNBLHdDQUFBO0FYaXZDTjtBVzl1Q0k7RUFDRSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7QVhndkNOO0FXN3VDSTtFQUNFLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtBWCt1Q047QVc1dUNJO0VBQ0UsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0FYOHVDTjtBVzN1Q0k7RUFDRSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4Q0FBQTtBWDZ1Q047QUlueEJJO0VPdGRFO0lBQ0UsbUJBQUE7SUFDQSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7SUFDQSxtQkFBQTtFWDR1Q047RVd6dUNJO0lBQ0UsU0FBQTtJQUNBLG1CQUFBO0lBQ0EsaUNBQUE7RVgydUNOO0VXdHVDTTtJQUNFLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtFWHd1Q1I7RVdsdUNRO0lBQ0UsYUFBQTtFWG91Q1Y7RVcvdENJO0lBQ0UsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0lBRUEsU0FBQTtJQUNBLG1CQUFBO0lBQ0Esa0JBQUE7RVhndUNOO0VXN3RDSTtJQUNFLHdEQUFBO0lBQ0EsbUJBQUE7SUFDQSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7SUFDQSxtQkFBQTtJQUNBLGFBQUE7RVgrdENOO0FBQ0Y7QUkxekJJO0VPamFFOztJQUVFLDhDQUFBO0VYOHRDTjtBQUNGO0FJaDBCSTtFT3paQTs7SUFFRSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7RVg0dENKO0FBQ0Y7O0FZcjNDQTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFFQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUVBLDBCQUFBO0FaczNDRjtBWXAzQ0U7RUFDRSxTQUFBO0FaczNDSjtBWW4zQ0U7RUFDRSxzQkFBQTtBWnEzQ0o7QVlsM0NFO0VBRUk7SUFDRSw2QkFBQTtFWm0zQ047RVloM0NJO0lBQ0UsNEJBQUE7RVprM0NOO0VZNzJDSTtJQUNFLDhCQUFBO0VaKzJDTjtFWTUyQ0k7SUFDRSw2QkFBQTtFWjgyQ047QUFDRjtBSXYyQkk7RVE3aUJKO0lBMkNJLFNBQUE7SUFDQSxXQUFBO0VaNjJDRjtBQUNGO0FZdjJDRTtFQUVFLHdEQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBRUEsd0JBQUE7RUFDQSx3QkFBQTtBWnUyQ0o7QVlyMkNJO0VBQ0Usd0JBQUE7RUFDQSxjQUFBO0FadTJDTjtBWTkxQ0k7RUFDRSxNQUFBO0FaZzJDTjtBWTcxQ0k7RUFDRSxjQUFBO0FaKzFDTjtBWTMxQ007RUFDRSxpQ0FBQTtBWjYxQ1I7QVkxMUNNO0VBQ0Usa0NBQUE7QVo0MUNSO0FJcjRCSTtFUWxjTTtJQUNFLDZCQUFBO0VaMDBDVjtBQUNGO0FZbjBDRTtFQUNFLHNCQUFBO0VBQ0EsaUJBQUE7QVpxMENKO0FZbjBDSTtFQUNFLHdCQUFBO0FacTBDTjs7QVk3ekNNO0VBQ0UsNkJBQUE7QVpnMENSO0FZenpDTTtFQUNFLDZCQUFBO0FaMnpDUjs7QVlqekNFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFFQSxVQUFBO0VBQ0EsaUNBQUE7RUFDQSx1QkFBQTtFQUVBLGtCQUFBO0VBQ0EsWUFBQTtBWmt6Q0o7QUlsNkJJO0VRelpGO0lBWUksZ0JBQUE7RVptekNKO0FBQ0Y7QVloekNFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSxVQUFBO0Faa3pDSjtBWWh6Q0k7RUFDRSxVQUFBO0Faa3pDTjtBWTl5Q0U7RUFDRSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QVpnekNKO0FZM3lDSTs7RUFFRSxVQUFBO0VBQ0EsaUNBQUE7QVo2eUNOO0FZMXlDSTtFQUNFLFVBQUE7RUFDQSx1Q0FBQTtBWjR5Q047O0FZbnlDSTtFQUNFLGVBQUE7RUFDQSxRQUFBO0VBQ0EsT0FBQTtFQUNBLE1BQUE7RUFDQSw0QkFBQTtFQUNBLG9DQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdDQUFBO0VBQ0EsV0FBQTtFQUNBLDhEQUFBO0Fac3lDTjtBWXB5Q0k7RUFDRSxVQUFBO0VBQ0EsZUFBQTtFQUNBLFFBQUE7RUFDQSxPQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0Esa0NBQUE7RUFDQSwyQkFBQTtFQUNBLDREQUFBO0VBQ0EsV0FBQTtFQUNBLG9CQUFBO0Fac3lDTjtBWWp5Q0k7RUFDRSx5QkFBQTtBWm15Q047QVlqeUNJO0VBQ0UsVUFBQTtFQUNBLE1BQUE7RUFDQSxtQkFBQTtBWm15Q047QVkveENFO0VBQ0UsYUFBQTtBWml5Q0o7QVloeUNJO0VBQ0UsY0FBQTtBWmt5Q047QVkveENFO0VBQ0UscUJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0FaaXlDSjtBWS94Q0k7RUFDRSxhQUFBO0FaaXlDTjtBSXIvQkk7RVFyVEY7SUFhSSw0QkFBQTtFWml5Q0o7QUFDRjtBWTl4Q0U7RUFDRSxVQUFBO0VBQ0EsU0FBQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBWmd5Q0o7QVk5eENJO0VBQ0UsWUFBQTtFQUNBLFlBQUE7QVpneUNOO0FZN3hDSTtFQUNFLGFBQUE7QVoreENOO0FZM3hDRTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTtBWjZ4Q0o7QVkzeENFO0VBRUUscUJBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBRUEsaUJBQUE7QVo0eENKO0FZMXhDSTtFQUNFO0lBQ0UseUJBQUE7RVo0eENOO0FBQ0Y7QUk1aENJO0VROVFGO0lBa0JJLGNBQUE7RVo0eENKO0FBQ0Y7QVl4eENJO0VBQ0UseUJBQUE7QVoweENOOztBWWp4Q0k7RUFDRSxrQkFBQTtBWm94Q047QVloeENNO0VBQ0Usa0JBQUE7QVpreENSO0FZNXdDSTtFQUNFLGtCQUFBO0FaOHdDTjtBWTF3Q007RUFDRSxrQkFBQTtBWjR3Q1I7O0FJampDSTtFUW5ORjtJQUNFLHNDQUFBO0lBQ0EsbUJBQUE7RVp3d0NGO0VZcndDQTs7SUFFRSxjQUFBO0VadXdDRjtBQUNGO0FJNWpDSTtFUXZNRjs7SUFFRSxnQkFBQTtJQUNBLFVBQUE7SUFDQSw2QkFBQTtFWnN3Q0Y7RVlud0NBO0lBQ0Usa0JBQUE7SUFDQSxjQUFBO0VacXdDRjtFWWx3Q0E7SUFDRSxPQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxnQkFBQTtJQUNBLFdBQUE7SUFDQSwyQkFBQTtJQUNBLDRCQUFBO0Vab3dDRjtFWWp3Q0E7SUFDRSxVQUFBO0VabXdDRjtFWWh3Q0E7SUFDRSxhQUFBO0Vaa3dDRjtBQUNGO0FJdmxDSTtFUXRLRjs7SUFFRSw4QkFBQTtFWmd3Q0Y7QUFDRjtBYWxuREE7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLG9DQWhCZTtFQWlCZixPQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFNQSx1QkFBQTtFQUNBLHVDQUFBO0VBSUEsb0JBQUE7QWI0bURGO0FheG1ERTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0NBQUE7RUFDQSxxQ0F4Q2M7RUF5Q2QsY0FBQTtFQUNBLGdCQUFBO0VBTUEsNkNBM0NjO0VBZ0RkLHdCQUFBO0VBQ0EscUVBQUE7QWJpbURKO0FhbGxERTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0Fib2xESjtBYWhsREU7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFwRmU7RUFxRmYsV0FBQTtFQUNBLFlBQUE7RUFDQSxvQ0FBQTtBYmtsREo7QWE3a0RFO0VBQ0UsY0FBQTtFQUNBLGdDQTVGWTtFQTZGWixpQ0E3Rlk7RUE4RlosVUFBQTtFQUNBLFNBQUE7RUFDQSxvQ0FBQTtFQUNBLDBEQUFBO0VBQ0Esa0VBQUE7RUFDQSxlQUFBO0FiK2tESjtBYTVrREU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7QWI4a0RKO0FhNWtESTtFQUNFLGdDQUFBO0FiOGtETjtBYTNrREk7RUFDRTtJQUNFLGdDQUFBO0ViNmtETjtBQUNGO0FhemtERTtFQUNFLGNBQUE7RUFDQSxrQ0E1SFk7RUE2SFosbUNBN0hZO0Fid3NEaEI7QWF6a0RJO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FiMmtETjs7QWFoa0RFOztFQUNFLDZDQUFBO0VBQ0EsNEZBQ0U7QWJta0ROOztBYXZqREE7RUFDRSw2QkFBQTtBYjBqREY7O0FhdmlERTtFQUNFLG9DQXBMYztFQXFMZCx3Q0FyTGM7RUFzTGQsaURBQUE7QWIwaURKO0FhbmlERTtFQUNFLFVBQUE7RUFDQSx1QkFBQTtBYnFpREo7QWFoaURFOztFQUVFLGFBQUE7QWJraURKOztBYW5oREE7RUFDRSx5QkFBQTtBYnNoREY7QWFwaERFO0VBUUUsV0FBQTtFQUNBLGVBQUE7RUFDQSxlQUFBO0VBTUEsa0JBQUE7QWIwZ0RKO0FhdmdERTtFQUNFLHVCQUFBO0VBQ0EsVUFBQTtBYnlnREo7O0FhaGdEQTtFQUNFLGNBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLG9DQUFBO0VBQ0EsOERBQUE7RUFDQSxzRUFBQTtFQUNBLDBDQUFBO0FibWdERjtBYWpnREU7RUFDRTtJQUNFLDJDQUFBO0VibWdESjtBQUNGOztBYS8vQ0E7RUFDRTtJQUNFLGdCQUFBO0Via2dERjtBQUNGO0FJeHVDSTtFU2hSRjtJQU1FLGVBQUE7SUFDQSxtQkFBQTtFYnMvQ0Y7RWFwL0NFO0lBRUUsYUFBQTtFYnEvQ0o7RWFsL0NFO0lBRUUsNENBdlJtQjtFYjB3RHZCO0VhaC9DRTtJQUNFLGdDQUFBO0lBQ0Esc0NBQUE7RWJrL0NKO0VhLytDRTtJQUlFLGNBQUE7SUFLQSxtQkFBQTtJQU9BLFlBQUE7SUFDQSxnQkFBQTtJQUNBLHVCQUFBO0lBS0EsYUFBQTtJQUNBLG1CQUFBO0lBQ0EsdUJBQUE7SUFDQSxtQkFBQTtFYmcrQ0o7RWFyOUNBO0lBQ0UsbUNBdFVxQjtJQXVVckIsdUNBdlVxQjtFYjh4RHZCO0FBQ0Y7QWNwekRBO0VBQ0Usd0JBQUE7RUFDQSwyQkFBQTtBZHN6REY7QUkzd0NJO0VVN2lCSjtJQUtJLGdDQUFBO0VkdXpERjtBQUNGO0FJaHhDSTtFVXJpQkY7SUFFSSxjQUFBO0lBQ0EsaUJBQUE7RWR1ekRKO0FBQ0Y7QWNwekRFO0VBQ0UsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBZHN6REo7QWNwekRJO0VBQ0UsZ0JBQUE7QWRzekROO0FjbHpERTtFQUNFLG1CQUFBO0Fkb3pESjtBY2p6REU7RUFDRSxpQkFBQTtBZG16REo7QWNqekRJO0VBQ0UsZUFBQTtBZG16RE47QWN2ekRFO0VBT0UsdUJBQUE7QWRtekRKO0FJM3lDSTtFVS9nQkY7SUFVSSxhQUFBO0lBQ0EsdUJBQUE7SUFDQSxxQkFBQTtFZG96REo7QUFDRjtBY2p6REU7RUFDRSxrQkFBQTtBZG16REo7QWNqekRJO0VBQ0UsZ0JBQUE7QWRtekROO0FJeHpDSTtFVS9mRjtJQVFJLHFCQUFBO0VkbXpESjtFY2p6REk7SUFDRSxxQkFBQTtFZG16RE47QUFDRjs7QWU5MURBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQ0FBQTtFQUtBLFdBQUE7RUFDQSxlVkNrQjtFVUFsQix3Q0FBQTtFQUNBLDZCQUFBO0VBQ0EsaUJBQUE7QWY2MURGO0FlMzFERTtFQUNFLFNBQUE7QWY2MURKO0FleDFERTtFQUNFLHlCQUFBO0FmMDFESjtBZXIxREU7RUFDRSxrQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsOEJBQUE7QWZ1MURKO0FlcDFERTtFQUNFLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGlDQUFBO0VBQ0Esd0NBQUE7QWZzMURKO0FlajFESTtFQUNFLHlCQUFBO0FmbTFETjtBZS8wREU7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0NBQUE7RUFDQSxjQUFBO0VBQ0EscUJBQUE7QWZpMURKO0FlOTBERTtFQUNFLGNBQUE7RUFDQSxvQ0FBQTtFQUNBLHFDQUFBO0FmZzFESjs7QWV6MERBO0VBRUUsd0JBQUE7QWYyMERGOztBZ0IzM0RBOzs7RUFqQ0UsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSw0QkFBQTtFQUNBLGNBQUE7RUFFQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2QkFBQTtFQUNBLGdCQUFBO0VBQ0EscUNBQUE7RUFNQSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFFQSxnQkFBQTtFQUVBLDhCQUFBO0FoQjA1REY7QWdCdjVERTs7O0VBQ0UsVUFBQTtFQUNBLFlBQUE7RUFDQSw2QkFBQTtFQUNBLGdCQUFBO0FoQjI1REo7O0FnQjk0REE7RUFDRSxlQUFBO0VBQ0EsWUFBQTtBaEJpNURGO0FnQi80REU7RUFDRSxZQUFBO0FoQmk1REo7O0FnQjU0REE7OztFQUlFLG1CQUFBO0FoQjg0REY7O0FnQjE0REE7O0VBRUUsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0FoQjY0REY7O0FnQng0REE7RUFDRSxzQkFBQTtBaEIyNERGOztBZ0J2NERBO0VBRUUsMEJBQUE7QWhCeTRERjtBZ0J2NERFO0VBRUUsd0JBQUE7RUFDQSxTQUFBO0FoQnc0REo7O0FnQjkzREE7RUFDRSxpQkFBQTtFQUVBLHlCQUFBO0FoQmc0REY7O0FpQjE5REE7RUFFRSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFFQSxxQkFBQTtBakIyOURGO0FpQno5REU7RUFFRSxVQUFBO0FqQjA5REo7QWlCditEQTtFQWdCRSw2QkFBQTtFQUVBLGVBQUE7QWpCeTlERjtBSS83Q0k7RWE1aUJKO0lBcUJJLDZCQUFBO0VqQjA5REY7QUFDRjtBa0JuOURBO0VBQ0UsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxXYk5rQjtFYVdsQixXQUFBO0VBQ0EsZWJka0I7RWFlbEIsb0JBQUE7QWxCaTlERjtBa0IvOERFO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLFlicEJZO0VhcUJaLFdBQUE7QWxCaTlESjtBa0J4OERFO0VBQ0UsY0FBQTtFQUNBLDZDQXZDb0I7RUF3Q3BCLDZDQXhDb0I7QWxCay9EeEI7QWtCcDhERTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FsQnM4REo7QWtCbjhERTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FsQnE4REo7QWtCOTdERTtFQUNFLFdBQUE7RUFDQSw4REFBQTtFQUNBLFNBQUE7QWxCZzhESjtBa0I3NkRFO0VBQ0UsYUFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsNkNBcEZxQjtBbEJtZ0V6QjtBa0J2NkRFO0VBQ0UsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFNQSxxQ0FBQTtBbEJvNkRKO0FrQmg2REk7RUFDRSxTQUFBO0FsQms2RE47QWtCNTVERTtFQUNFLHVCQUFBO0FsQjg1REo7QWtCejRERTtFQUNFLFdBQUE7QWxCMjRESjtBa0JuNERFO0VBQ0UsZ0JBQUE7RUFDQSx5REE5SXNCO0VBK0l0QixvRUFBQTtBbEJxNERKO0FrQngzREU7RUFDRSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxxQkFBQTtBbEIwM0RKO0FrQngzREk7RUFDRSxjQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7QWxCMDNETjtBa0JsM0RFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7QWxCbzNESjtBa0JqM0RJO0VBQ0UsU0FBQTtBbEJtM0ROO0FrQngyREk7RUFDRSxnQkFBQTtBbEIwMkROO0FrQm4yREU7RUFDRSxXQUFBO0VBQ0Esb0JBQUE7RUFDQSxTQUFBO0VBR0EscUNBQUE7QWxCbTJESjtBa0I1MURFO0VBQ0UsaUNBQUE7QWxCODFESjtBa0IzMURFO0VBQ0UscUNBQUE7QWxCNjFESjtBa0IxMURFO0VBQ0UscUNBQUE7QWxCNDFESjs7QUl4aURJO0VjNVNGO0lBR0UsZWJoUVk7SWFpUVosWWIxT1k7RUxna0VkO0VrQnAxREU7SUFNRSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7RWxCaTFESjtFa0I3MERFO0lBQ0UsY0FBQTtFbEIrMERKO0FBQ0Y7QWtCbDBEQTtFQUNFO0lBQ0UsNEJBQUE7RWxCbzBERjtBQUNGO0FJNWpESTtFYzNQRjtJQUNFLHdDQUFBO0VsQjB6REY7QUFDRjtBSWprREk7RWN6T0Y7SUFDRSxpQ0FBQTtJQUNBLGVBQUE7SUFDQSxjQUFBO0VsQjZ5REY7QUFDRjtBa0J2eURBOztFQUVFLFliclRjO0FMOGxFaEI7O0FrQnR5REE7RUFDRSxnQkFBQTtBbEJ5eURGOztBSWhsREk7RWN2TUY7O0lBRUUsV0FBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0VsQjJ4REY7RWtCMXdEQTtJQUNFLGFBQUE7RWxCNHdERjtBQUNGO0FrQnB3REE7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QWxCc3dERjtBa0Jwd0RFO0VBQ0UsdUJBQUE7QWxCc3dESjs7QWtCN3ZEQTtFQUNFLFlielhjO0VhMFhkLGNBQUE7QWxCZ3dERjs7QWtCcnVEQTtFQUNFLGNBQUE7QWxCd3VERjs7QW1CM29FQTtFQUVFLHFCQUFBO0VBQ0EsbUNBQUE7QW5CNm9FRjs7QW1CeG9FQTtFQUNFO0lBQ0UsK0JBQUE7RW5CMm9FRjtBQUNGO0FtQnhvRUE7RUFDRTtJQUNFLGdCQUFBO0VuQjBvRUY7QUFDRjtBb0JocUVBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLFlmY2M7RWVUZCxXQUFBO0VBQ0EsZWZPa0I7RWVIbEIsd0NBQUE7RUFDQSw2QkFBQTtBcEIycEVGO0FvQnpwRUU7RUFDRSxXQUFBO0VBQ0EsU0FBQTtBcEIycEVKO0FvQnhwRUU7RUFDRSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxnQmZYWTtFZVlaLGdCQUFBO0FwQjBwRUo7QW9CcnBFRTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBcEJ1cEVKO0FvQmhwRUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSwwQkFBQTtBcEJrcEVKO0FvQi9vRUU7RUFDRSxjQUFBO0FwQmlwRUo7O0FJbnFESTtFZ0J6ZUY7SUFDRSxlZmpFWTtFTGl0RWQ7RW9COW9FRTtJQUNFLGNBQUE7SUFDQSxlQUFBO0lBSUEsb0JBdEVvQjtFcEJtdEV4QjtBQUNGO0FxQjF0RUE7RUFDRSxjQUFBO0VBQ0EsNEJBQUE7RUFDQSxjQUFBO0FyQjR0RUY7O0FxQnp0RUE7RUFDRSw0QkFBQTtFQUNBLGNBQUE7RUFDQSx5Q0FBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLDJCQUFBO0FyQjR0RUY7QXFCMXRFRTtFQUNFLG1CQUFBO0VBQ0EsMEJBQUE7RUFDQSx5QkFBQTtFQUNBLFVBQUE7QXJCNHRFSjtBcUJ6dEVFO0VBQ0UsbUJBQUE7RUFDQSwwQkFBQTtBckIydEVKO0FxQnh0RUU7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7QXJCMHRFSjtBcUJ2dEVFO0VBQ0Usd0RBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtFQUNBLG9DQUFBO0FyQnl0RUo7QXFCdHRFRTtFQUNFLHdEQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0VBRUEsaUJBQUE7QXJCdXRFSjtBcUJ0dEVJO0VBQ0UseUJBQUE7RUFDQSxxQkFBQTtBckJ3dEVOO0FxQnJ0RUk7RUFFSTtJQUNFLGlCQUFBO0VyQnN0RVI7QUFDRjs7QXFCaHRFQTtFQUNFLHFCQUFBO0VBQ0EscUNBQUE7RUFDQSxpQkFBQTtBckJtdEVGOztBcUJodEVBO0VBQ0UsZUFBQTtFQUNBLGdDQUFBO0FyQm10RUY7O0FxQmh0RUE7RUFDRSxtQkFBQTtFQUNBLDJCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7RUFDQSx3QkFBQTtFQUNBLGdCQUFBO0FyQm10RUY7QXFCanRFRTtFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7QXJCbXRFSjtBcUJodEVFO0VBRUk7SUFDRSxtQkFBQTtJQUNBLGlCQUFBO0VyQml0RU47QUFDRjtBcUI3c0VJO0VBQ0UsYUFBQTtBckIrc0VOOztBcUIxc0VBO0VBQ0UseUJBQUE7QXJCNnNFRjs7QUk3d0RJO0VpQjFiRjtJQUNFLGNBQUE7SUFDQSxpQkFBQTtFckIyc0VGO0VxQnhzRUE7SUFDRSxXQUFBO0lBQ0EsU0FBQTtFckIwc0VGO0VxQnZzRUE7SUFDRSxXQUFBO0lBQ0EscUNBQUE7RXJCeXNFRjtFcUJ0c0VBO0lBQ0UsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0lBQ0EsY0FBQTtJQUNBLGVBQUE7RXJCd3NFRjtFcUJyc0VBO0lBQ0UsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0lBQ0EsOENBQUE7RXJCdXNFRjtFcUJwc0VBO0lBQ0UsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0VyQnNzRUY7QUFDRjtBc0JwMUVFO0VBQ0UsVUFBQTtBdEJzMUVKOztBc0IvMEVFO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0F0QmsxRUo7QXNCMzBFSTtFQUNFLGlCQUFBO0F0QjYwRU47QXNCMTBFSTtFQUNFLFdBQUE7QXRCNDBFTjtBc0IxMEVJO0VBQ0UsV0FBQTtBdEI0MEVOO0FzQjEwRU07RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0F0QjQwRVI7QXNCMTBFUTtFQUNFLHVCQUFBO0F0QjQwRVY7QUl0MERJO0VrQmpnQkE7SUFHSSxjQUFBO0V0QncwRU47QUFDRjtBSTMwREk7RWtCNWZFO0lBRUksVUFBQTtFdEJ5MEVSO0FBQ0Y7QUloMURJO0VrQnBmUTtJQUNFLHFCQUFBO0V0QnUwRVo7RXNCcjBFVTtJQUNFLHFCQUFBO0V0QnUwRVo7RXNCcDBFWTtJQUNFLG1CQUFBO0lBQ0Esb0JBQUE7SUFDQSxzQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZ0NBQUE7RXRCczBFZDtFc0JsMEVZO0lBQ0Usb0JBQUE7T0FBQSxpQkFBQTtJQUNBLFlBQUE7RXRCbzBFZDtFc0I1ekVVO0lBQ0UscUJBQUE7RXRCOHpFWjtFc0I1ekVVO0lBQ0UscUJBQUE7RXRCOHpFWjtFc0IxekVZO0lBQ0UsbUJBQUE7SUFDQSxvQkFBQTtJQUNBLHNCQUFBO0lBQ0EsdUJBQUE7SUFDQSxnQ0FBQTtFdEI0ekVkO0VzQnh6RVk7SUFDRSxvQkFBQTtPQUFBLGlCQUFBO0lBQ0EsWUFBQTtFdEIwekVkO0FBQ0Y7QUlwM0RJO0VrQi9iQTtJQUVJLGNBQUE7RXRCcXpFTjtBQUNGO0FJejNESTtFa0IzYkU7SUFFSSxVQUFBO0V0QnN6RVI7RXNCbnpFVTtJQUNFLG1CQUFBO0lBQ0Esb0JBQUE7SUFDQSxzQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZ0NBQUE7RXRCcXpFWjtBQUNGO0FJcjRESTtFa0IxYUE7SUFFSSxlQUFBO0V0Qml6RU47QUFDRjtBc0JoekVNO0VBQ0UsVUFBQTtBdEJrekVSO0FJNzRESTtFa0J0YUU7SUFHSSxVQUFBO0V0Qm96RVI7QUFDRjtBSWw1REk7RWtCOVpBO0lBRUksY0FBQTtFdEJrekVOO0FBQ0Y7QUl2NURJO0VrQjFaRTtJQUVJLFVBQUE7RXRCbXpFUjtBQUNGOztBc0J0eUVJO0VBQ0UsMEJBSlk7QXRCNnlFbEI7QXNCdHlFSTtFQUVFLDJCQVRZO0VBVVosNEJBVlk7QXRCaXpFbEI7QUlwNkRJO0VrQmhZSTtJQUNFLDJCQWJRO0lBY1IsNEJBZFE7RXRCcXpFaEI7RXNCcnlFUTtJQUNFLGVBQUE7RXRCdXlFVjtFc0JyeUVRO0lBQ0UsZ0JBQUE7RXRCdXlFVjtBQUNGO0FzQjd4RUk7RUFDRSwwQkFKWTtBdEJteUVsQjtBc0I1eEVJO0VBQ0UsMkJBUlk7RUFTWiw0QkFUWTtBdEJ1eUVsQjtBSXY3REk7RWtCcFdJO0lBQ0UsMkJBWlE7SUFhUiw0QkFiUTtFdEIyeUVoQjtFc0I1eEVRO0lBQ0UsZUFBQTtFdEI4eEVWO0VzQjV4RVE7SUFDRSxnQkFBQTtFdEI4eEVWO0FBQ0Y7QXNCbnhFSTtFQUNFLDBCQUxZO0F0QjB4RWxCO0FzQmx4RUk7RUFFRSwyQkFWWTtFQVdaLDRCQVhZO0F0Qjh4RWxCO0FJMThESTtFa0J0VUk7SUFDRSwyQkFkUTtJQWVSLDRCQWZRO0V0Qmt5RWhCO0VzQmp4RVE7SUFDRSwyQkFqQlM7SUFrQlQsNEJBbEJTO0V0QnF5RW5CO0VzQmh4RVE7SUFDRSxlQUFBO0V0Qmt4RVY7RXNCaHhFUTtJQUNFLGdCQUFBO0V0Qmt4RVY7QUFDRjs7QXNCM3dFQTtFQUNFLGFBQUE7QXRCOHdFRjs7QXNCeHdFRTs7Ozs7Ozs7RUFJRSx3REFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0VBQ0Esa0JBQUE7QXRCK3dFSjtBc0I3d0VJOzs7Ozs7OztFQUNFLGFBQUE7QXRCc3hFTjs7QXNCL3dFRTtFQUNFLFNBQUE7QXRCa3hFSjtBc0JoeEVJO0VBQ0UsZ0JBQUE7QXRCa3hFTjtBc0Ivd0VNO0VBQ0UsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0F0Qml4RVI7QXNCOXdFTTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtBdEJneEVSO0FzQjd3RU07RUFDRSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7QXRCK3dFUjtBc0J4d0VJOzs7O0VBSUUsbUJBQUE7QXRCMHdFTjtBSXBoRUk7RWtCelJKO0lBd0NJLG1CQUFBO0lBQ0EseUJBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0V0Qnl3RUY7QUFDRjtBSTVoRUk7RWtCMU9BO0lBQ0Usb0NBQUE7RXRCeXdFSjtFc0J0d0VFO0lBQ0Usb0NBQUE7RXRCd3dFSjtBQUNGO0FzQnJ3RUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBdEJ1d0VKOztBc0Jqd0VFOzs7RUFHRSxtQkFBQTtBdEJvd0VKO0FzQmp3RUU7O0VBRUUsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0F0Qm13RUo7QXNCaHdFRTtFQUNFLG1CQUFBO0F0Qmt3RUo7QXNCL3ZFRTtFQUNFLDBCQUFBO0F0Qml3RUo7QUkxakVJO0VrQjNOSjtJQXdCSSxtQkFBQTtFdEJpd0VGO0FBQ0Y7QXNCOXZFSTtFQUNFLGdCQUFBO0F0Qmd3RU47QXNCNXZFRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0F0Qjh2RUo7QXNCM3ZFRTtFQUNFLGFBQUE7RUFDQSw2QkFBQTtBdEI2dkVKO0FJMWtFSTtFa0JyTEY7SUFLSSxvQkFBQTtFdEI4dkVKO0FBQ0Y7QXNCM3ZFRTtFQUNFLGNBQUE7QXRCNnZFSjtBSWxsRUk7RWtCNUtGO0lBSUksVUFBQTtFdEI4dkVKO0FBQ0Y7QUl2bEVJO0VrQjVLRjtJQVFJLFNBQUE7RXRCK3ZFSjtBQUNGOztBc0IzdkVBO0VBQ0Usb0NBQUE7QXRCOHZFRjs7QXNCM3ZFQTtFQUNFLGNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFFQSxrQkFBQTtFQUNBLFVBQUE7QXRCNnZFRjtBc0IzdkVFO0VBQ0UsZ0JBQUE7RUFDQSxTQUFBO0F0QjZ2RUo7QUlubkVJO0VrQjNKSjtJQXFCSSxhQUFBO0V0QjZ2RUY7QUFDRjtBc0IxdkVFO0VBRUUsbUJBQUE7QXRCMnZFSjtBc0J4dkVFO0VBQ0UsaUNBQUE7QXRCMHZFSjtBc0J2dkVFO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0F0Qnl2RUo7QXNCdnZFSTtFQUNFLGtCQUFBO0F0Qnl2RU47QXNCbnZFSTtFQUNFLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtBdEJxdkVOO0FzQjF2RUU7RUFRRSxjQUFBO0VBQ0EsaUJBQUE7QXRCcXZFSjtBc0JudkVJO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0F0QnF2RU47QXNCbHZFSTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtBdEJvdkVOO0FJenBFSTtFa0IzSko7SUFxRUksZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLG9CQUFBO0lBQ0EsaUJBQUE7SUFDQSxjQUFBO0V0Qm12RUY7RXNCanZFRTtJQUNFLGVBQUE7SUFDQSxpQkFBQTtFdEJtdkVKO0VzQmp2RUk7SUFDRSxpQkFBQTtFdEJtdkVOO0VzQi91RUU7SUFDRSxhQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBO0lBQ0EsaUJBQUE7SUFDQSxpQkFBQTtJQUVBLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtFdEJndkVKO0VzQjl1RUk7SUFDRSxVQUFBO0V0Qmd2RU47RXNCN3VFSTtJQUNFLGFBQUE7RXRCK3VFTjtFc0IzdUVFO0lBQ0UsZ0JBQUE7RXRCNnVFSjtFc0IzdUVJO0lBQ0UsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7RXRCNnVFTjtBQUNGO0FJanNFSTtFa0IzSko7SUFvSEksZUFBQTtJQUNBLGtCQUFBO0V0QjR1RUY7QUFDRjs7QXNCeHVFQTtFQUNFLHlCQUFBO0VBRUEsZUFBQTtBdEIwdUVGOztBc0IvdEVBO0VBQ0Usb0NBQUE7RUFFQSxnQkFBQTtBdEJpdUVGOztBc0I5dEVBO0VBQ0Usd0JBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0F0Qml1RUY7QUkxdEVJO0VrQmJKO0lBU0ksNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0V0Qmt1RUY7QUFDRjs7QXNCOXRFRTtFQUNFLHFDQUFBO0F0Qml1RUo7QUlydUVJO0VrQk9FO0lBQ0UsbUJBQUE7RXRCaXVFTjtBQUNGO0FzQjl0RUk7RUFDRSwwQkFBQTtBdEJndUVOO0FJN3VFSTtFa0JxQkk7SUFDRSxtQkFBQTtFdEIydEVSO0FBQ0Y7O0FzQnJ0RUE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7QXRCd3RFRjtBc0J0dEVFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VuQi9pQkYsOEZBQUE7QUh3d0ZGO0FzQnJ0RUk7RUFDRSxVQUFBO0F0QnV0RU47QXNCbnRFRTtFQUNFLFNBQUE7QXRCcXRFSjtBc0JudEVJO0VBQ0UsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtBdEJxdEVOO0FJendFSTtFa0JnREE7SUFPSSxXQUFBO0lBQ0EscUJBQUE7RXRCc3RFTjtBQUNGOztBc0I5c0VBO0VBQ0Usb0NBQUE7QXRCaXRFRjtBc0Ivc0VFO0VBQ0UsZ0JBQUE7QXRCaXRFSjtBSXR4RUk7RWtCaUVKO0lBUUksZ0JBQUE7RXRCaXRFRjtBQUNGOztBc0I5c0VBO0VBQ0UsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0F0Qml0RUY7O0FzQjlzRUE7RUFDRSxTQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsaUNBQUE7QXRCaXRFRjs7QXNCOXNFQTtFQUNFLDhGQUFBO0F0Qml0RUY7QXNCL3NFRTtFQUNFLDJFQUFBO0VBQ0EscUdBQUE7QXRCaXRFSjs7QXNCN3NFQTtFQUNFLDZGQUFBO0F0Qmd0RUY7QXNCOXNFRTtFQUNFLGtGQUFBO0F0Qmd0RUo7O0FzQjVzRUE7RUFDRSxvRUFBQTtFQUNBLHFFQUFBO0F0QitzRUY7QXNCN3NFRTtFQUNFLG9FQUFBO0VBQ0EsNEVBQUE7QXRCK3NFSjs7QXNCM3NFQTtFQUNFLDBCQUFBO0VBQ0EsMkJBQUE7QXRCOHNFRjtBc0I1c0VFO0VBQ0Usa0ZBQUE7RUFDQSxnQ0FBQTtBdEI4c0VKOztBc0Ixc0VBO0VBQ0UsMEJBQUE7RUFDQSwyQkFBQTtBdEI2c0VGO0FzQjNzRUU7RUFDRSxrRkFBQTtFQUNBLGdDQUFBO0F0QjZzRUo7O0FzQnpzRUE7RUFDRSxrQkFBQTtFQUNBLG1CQUFBO0F0QjRzRUY7QXNCMXNFRTtFQUNFLFVBQUE7QXRCNHNFSjs7QXNCeHNFQTtFQUNFLDBCQUFBO0VBQ0EsMkJBQUE7QXRCMnNFRjtBc0J6c0VFO0VBQ0UsK0JBQUE7QXRCMnNFSjs7QUl6MkVJO0VrQm9LQTtJQUNFLG1FQUFBO0lBRUEsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0V0QndzRUo7QUFDRjtBc0Jwc0VBO0VBQ0UsYUFBQTtFQUNBLFdBQUE7QXRCc3NFRjtBc0Juc0VFO0VBQ0UsMkJBQUE7QXRCcXNFSjtBc0Jsc0VFO0VBQ0UseUJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7QXRCb3NFSjtBc0Jsc0VJO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7RUFDQSxpQ0FBQTtFQUNBLHVDQUFBO0F0Qm9zRU47QXNCanNFSTtFQUNFLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtBdEJtc0VOO0FzQi9yRUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsZ0JBQUE7QXRCaXNFSjtBc0IvckVJO0VBQ0UsbUJBQUE7QXRCaXNFTjtBc0I3ckVFO0VBQ0UsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBR0EscUJBQUE7QXRCNnJFSjtBc0IxckVFO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLGlCQUFBO0F0QjRyRUo7O0FJbDZFSTtFa0I2T0Y7SUFDRSxjQUFBO0lBQ0EsZUFBQTtFdEJ5ckVGO0FBQ0Y7QUl6NkVJO0VrQjZPRjtJQUtJLGlCQUFBO0V0QjJyRUo7QUFDRjtBSTk2RUk7RWtCcVBBO0lBQ0UsbUJBQUE7RXRCNHJFSjtFc0J6ckVFO0lBQ0UsY0FBQTtJQUNBLG1CQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0V0QjJyRUo7RXNCeHJFRTtJQUNFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLE9BQUE7SUFDQSxnQkFBQTtFdEIwckVKO0VzQnZyRUU7SUFDRSxhQUFBO0V0QnlyRUo7RXNCcnJFQTtJQUNFLFdBQUE7SUFDQSxrQkFBQTtJQUNBLGFBQUE7SUFDQSxrQkFBQTtJQUNBLGNBQUE7RXRCdXJFRjtFc0JyckVFO0lBQ0UsNkJBQUE7SUFDQSxpQkFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTtFdEJ1ckVKO0FBQ0Y7QUkvOEVJO0VrQjhSQTtJQUNFLGNBQUE7SUFDQSxZQUFBO0lBQ0EsV0FBQTtFdEJvckVKO0VzQmpyRUU7SUFDRSxhQUFBO0V0Qm1yRUo7QUFDRjtBc0I5cUVFO0VBQ0UsMkJBQUE7QXRCZ3JFSjs7QXVCemdHQTtFQUNFLHlDQUFBO0F2QjRnR0Y7O0F1QnpnR0E7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtBdkI0Z0dGOztBdUJ4Z0dBO0VBQ0UsNEJBQUE7RUFDQSxjQUFBO0F2QjJnR0Y7O0F1QnhnR0E7RUFDRSw2QkFBQTtFQUNBLGNBQUE7RUFDQSw0QkFBQTtFQUNBLHFDQUFBO0VBQ0EsMEJBQUE7RUFFQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBRUEsYUFBQTtFQUNBLDhCQUFBO0F2QnlnR0Y7QXVCdmdHRTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0F2QnlnR0o7QXVCdmdHSTtFQUNFO0lBQ0UsMEJBQUE7RXZCeWdHTjtBQUNGO0F1QnJnR0U7RUFDRSxtQkFBQTtBdkJ1Z0dKO0FJemdGSTtFbUI1aEJKO0lBa0NJLDZCQUFBO0lBQ0EsdUNBQUE7RXZCdWdHRjtBQUNGO0FJL2dGSTtFbUI1aEJKO0lBdUNJLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtFdkJ3Z0dGO0FBQ0Y7O0F1QnJnR0E7RUFDRSxlQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0F2QndnR0Y7O0F1QnJnR0E7RUFDRSxhQUFBO0F2QndnR0Y7O0F1QnJnR0E7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RUFDQSw2QkFBQTtFQUNBLHVDQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7QXZCd2dHRjs7QXVCcmdHQTtFQUNFLGNBQUE7RUFDQSx3REFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtBdkJ3Z0dGO0F1QnRnR0U7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFFQSxrQkFBQTtFQUNBLGdCQUFBO0F2QnVnR0o7QUl6akZJO0VtQm5kRjtJQVFJLGtDQUFBO0lBQ0EsWUFBQTtFdkJ3Z0dKO0FBQ0Y7O0F1QmxnR0U7RUFDRSx5QkFBQTtBdkJxZ0dKOztBSW5rRkk7RW1CemJJO0lBQ0UsYUFBQTtFdkJnZ0dSO0FBQ0Y7QXVCMS9GSTs7RUFFRSxjQUFBO0F2QjQvRk47QUk3a0ZJO0VtQjFhRTtJQUNFLHFCQUFBO0V2QjAvRk47QUFDRjs7QXVCci9GQTtFQUNFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsNEJBQUE7RUFDQSxjQUFBO0F2QncvRkY7O0F1QnAvRkU7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsT0FBQTtBdkJ1L0ZKOztBSWxtRkk7RW1CL1lBO0lBQ0UscUJBQUE7RXZCcS9GSjtFdUJsL0ZNO0lBQ0UsMkJBQUE7RXZCby9GUjtFdUI3K0ZFO0lBQ0UseUJBQUE7RXZCKytGSjtFdUI1K0ZNO0lBQ0UsMkJBQUE7RXZCOCtGUjtBQUNGO0F1QnYrRkE7RUFDRSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VwQjlKQSw4RkFBQTtBSHdvR0Y7O0F1Qjk5RkE7RUFDRSxhQUFBO0F2QmkrRkY7O0F1Qjk5RkE7RUFDRSwyQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VwQjdLQSwyRkFBQTtBSCtvR0Y7QXVCOTlGRTtFQUNFLHlCQUFBO0VBQ0EsVUFBQTtBdkJnK0ZKOztBdUI1OUZBO0VBQ0UsVUFBQTtBdkIrOUZGOztBdUI1OUZBO0VBQ0UsYUFBQTtBdkIrOUZGO0F1Qjc5RkU7RUFDRSxjQUFBO0F2Qis5Rko7QXVCNTlGRTtFQUNFLGFBQUE7RUFDQSxTQUFBO0F2Qjg5Rko7QXVCNTlGSTtFQUNFLGFBQUE7RUFDQSxZQUFBO0F2Qjg5Rk47O0F1Qng5RkE7RUFDRSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLGdGQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUVBLGdCQUFBO0VBQ0Esd0JsQmhRYztBTDB0R2hCO0F1QnY5RkU7RUFDRSxrRkFBQTtBdkJ5OUZKO0F1QnQ5RkU7RUFDRSxrRkFBQTtBdkJ3OUZKO0F1QnI5RkU7RUFDRSxrRkFBQTtBdkJ1OUZKO0F1QnA5RkU7RUFDRSxrRkFBQTtBdkJzOUZKO0F1Qm45RkU7RUFDRSxrRkFBQTtBdkJxOUZKO0F1Qmo5RkU7RUFDRSxrRkFBQTtBdkJtOUZKO0F1Qmg5RkU7RUFDRSxrRkFBQTtBdkJrOUZKO0F1Qi84RkU7RUFDRSxrRkFBQTtBdkJpOUZKO0F1Qjk4RkU7RUFDRSxrRkFBQTtBdkJnOUZKO0F1Qjc4RkU7RUFDRSxrRkFBQTtBdkIrOEZKO0F1QjU4RkU7RUFDRSxTQUFBO0VBQ0EsU0FBQTtFQUNBLGdGQUFBO0F2Qjg4Rko7QXVCMzhGRTtFQUNFLFNBQUE7RUFDQSxTQUFBO0VBQ0EsZ0ZBQUE7QXZCNjhGSjs7QXVCejhGQTtFQUNFLFVBQUE7RUFDQSxxQkFBQTtFQUNBLDhCQUFBO0VBQ0EsYUFBQTtBdkI0OEZGO0F1QjE4RkU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QXZCNDhGSjtBdUJwOUZBO0VBWUUsV0FBQTtBdkIyOEZGO0F1Qng4Rkk7RUFDRSw4QkFBQTtBdkIwOEZOO0F1Qng4Rk07RUFFRSxzQkFBQTtFQUNBLHNDQUFBO0VBQ0Esb0JBQUE7QXZCeThGUjtBSWp2Rkk7RW1COU9KO0lBNkJJLFVBQUE7RXZCczhGRjtFdUJwOEZFO0lBQ0UsV0FBQTtFdkJzOEZKO0V1QnA4Rkk7SUFDRSxhQUFBO0V2QnM4Rk47RXVCbjhGSTtJQUNFLGNBQUE7RXZCcThGTjtFdUJsOEZJO0lBQ0UsZUFBQTtFdkJvOEZOO0FBQ0Y7O0F1QjU3RkE7RUFDRSw0QkFBQTtFQUNBLDZDQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSx3REFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtFQUVBLHlCQUFBO0tBQUEsc0JBQUE7VUFBQSxpQkFBQTtBdkI4N0ZGO0F1QjU3RkU7RUFDRTtJQUNFLFdBQUE7RXZCODdGSjtBQUNGOztBdUIxN0ZBO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0F2QjY3RkY7O0FJOXhGSTtFbUJ6SkY7SUFDRSxhQUFBO0lBQ0Esa0JBQUE7RXZCMjdGRjtFdUJ4N0ZBO0lBQ0Usa0JBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGNBQUE7SUFDQSxXQUFBO0lBQ0Esd0RBQUE7SUFDQSw2QkFBQTtJQUNBLHVDQUFBO0lBQ0EsZ0JBQUE7SUFDQSx3QkFBQTtJQUNBLE1BQUE7SUFDQSxZQUFBO0lBQ0Esb0NBQUE7SUFDQSwwQkFBQTtFdkIwN0ZGO0FBQ0Y7QUlyekZJO0VtQnBKRjtJQWlCSSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7SUFDQSxZQUFBO0V2QjQ3Rko7QUFDRjtBSTd6Rkk7RW1CcEpGO0lBdUJJLGtCQUFBO0V2Qjg3Rko7QUFDRjtBSWwwRkk7RW1CcEpGO0lBMEJJLGtCQUFBO0V2Qmc4Rko7QUFDRjtBSXYwRkk7RW1CdEhGO0lBQ0Usd0JBQUE7T0FBQSxxQkFBQTtZQUFBLGdCQUFBO0lBQ0EsdUJBQUE7SUFDQSxvQkFBQTtJQUVBLFNBQUE7SUFDQSx3REFBQTtJQUNBLDZCQUFBO0lBQ0EsdUNBQUE7SUFDQSxlQUFBO0lBQ0EsbUJBQUE7SUFFQSxhQUFBO0lBQ0EsZUFBQTtFdkI4N0ZGO0FBQ0Y7QUl0MUZJO0VtQnRIRjtJQWdCSSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7RXZCZzhGSjtBQUNGO0FJNzFGSTtFbUIvRkE7SUFDRSx5QkFBQTtFdkIrN0ZKO0V1QjU3RkU7SUFDRSxvQkFBQTtFdkI4N0ZKO0V1QnY3RkE7SUFDRSx3QkFBQTtJQUNBLGdCQUFBO0lBQ0EsU0FBQTtJQUNBLHlCQUFBO0lBQ0EsV0FBQTtFdkJ5N0ZGO0V1QnQ3RkE7SUFDRSxZQUFBO0V2Qnc3RkY7RXVCcDdGQTtJQUNFLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtJQUVBLGFBQUE7RXZCcTdGRjtFdUJqN0ZFO0lBQ0UsY0FBQTtFdkJtN0ZKO0V1Qmg3RkU7SUFDRSxXQUFBO0lBQ0EsWUFBQTtJQUNBLG9CQUFBO0lBQ0Esd0JBQUE7RXZCazdGSjtFdUIvNkZFO0lBQ0UsNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0V2Qmk3Rko7RXVCNzZGQTtJQUNFLDZCQUFBO0lBQ0EsdUNBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsdUJBQUE7RXZCKzZGRjtFdUI1NkZBO0lBQ0UsbUJBQUE7RXZCODZGRjtFdUI1NkZFO0lBQ0UsbUJsQjVnQlU7RUwwN0dkO0V1Qno2RkE7SUFDRSw2QkFBQTtJQUNBLHVDQUFBO0V2QjI2RkY7QUFDRjtBdUJ4NkZBO0VBQ0UsYUFBQTtBdkIwNkZGOztBSXo1Rkk7RW1CYkY7SUFDRSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7SUFFQSxhQUFBO0V2Qnk2RkY7RXVCbDZGQTtJQUNFLFlBQUE7RXZCbzZGRjtFdUJqNkZBO0lBQ0UsY0FBQTtJQUNBLGlCQUFBO0lBQ0EsNkJBQUE7SUFDQSx1Q0FBQTtFdkJtNkZGO0FBQ0Y7QXdCdDZHRTs7RUFFRSxXQUFBO0F4Qnc2R0o7QUkvNkZJO0VvQm5mQTs7SUFFRSxVQUFBO0V4QnE2R0o7RXdCOThHQTs7SUFDRSxjQUFBO0V4Qmk5R0Y7RXdCOThHQTs7SUFDRSxhQUFBO0V4Qmk5R0Y7RXdCOThHQTs7SUFDRSxnQkFBQTtFeEJpOUdGO0V3QjM2R0U7O0lBRUUsV0FBQTtFeEI2NkdKO0V3Qmg5R0E7O0lBQ0UsYUFBQTtFeEJtOUdGO0V3Qmg5R0E7O0lBQ0UsY0FBQTtFeEJtOUdGO0V3Qmg5R0E7O0lBQ0UsZUFBQTtFeEJtOUdGO0FBQ0Y7QUlqOUZJO0VvQjVnQkY7O0lBQ0UsYUFBQTtFeEJpK0dGO0V3Qjk5R0E7O0lBQ0UsY0FBQTtFeEJpK0dGO0V3Qjk5R0E7O0lBQ0UsZUFBQTtFeEJpK0dGO0V3QngvR0E7O0lBQ0UsY0FBQTtFeEIyL0dGO0V3QngvR0E7O0lBQ0UsYUFBQTtFeEIyL0dGO0V3QngvR0E7O0lBQ0UsZ0JBQUE7RXhCMi9HRjtBQUNGO0F3Qno3R0U7RUFDRSxnQm5CckVZO0FMZ2dIaEI7O0F5QjNoSEE7RUFDRSw4Q0FBQTtBekI4aEhGOztBeUIzaEhBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsNEJBQUE7RUFDQSxXQUFBO0VBQ0EsOEJBQUE7QXpCOGhIRjtBeUI1aEhFO0VBQ0UsYUFBQTtBekI4aEhKO0F5QjNoSEU7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSw4QkFBQTtFQUNBLGdCQUFBO0F6QjZoSEo7O0F5QnhoSEE7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSwyQkFBQTtFQUNBLDRCQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUVBLGtEQUFBO0F6QjBoSEY7QUk3Z0dJO0VxQnJoQko7SUFhSSxzQkFBQTtFekJ5aEhGO0V5QnZoSEU7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLHNCQUFBO0lBQ0EsVUFBQTtFekJ5aEhKO0FBQ0Y7QXlCdGhIRTtFQUNFLGlCQUFBO0F6QndoSEo7QXlCcmhISTtFQUNFLG9CQUFBO0F6QnVoSE47QUk5aEdJO0VxQnRmQTtJQUVJLGlCQUFBO0V6QnNoSE47QUFDRjtBeUJqaEhFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0F6Qm1oSEo7O0F5QnhnSEE7RUFDRSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSwwQkFBQTtFQUNBLHFCQUFBO0F6QjJnSEY7QUlwakdJO0VxQjlkSjtJQVVJLGdCQUFBO0V6QjRnSEY7QUFDRjs7QXlCeGdIRTtFQUNFLGtCQUFBO0VBQ0EsWXBCNUZZO0VvQjZGWixhcEI3Rlk7RW9COEZaLFlBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtBekIyZ0hKO0FJcGtHSTtFcUIvY0Y7SUFZSSxZQUFBO0lBSUEsa0JBQUE7SUFDQSxtQkFBQTtFekJ3Z0hKO0FBQ0Y7QXlCcmdIRTtFQUNFLFdBQUE7RUFDQSxZQUFBO0F6QnVnSEo7O0F5Qm5nSEE7RUFDRSxrQkFBQTtFQUNBLFlwQnZIYztFb0J3SGQsYXBCeEhjO0VvQnlIZCxZQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGlDQUFBO0VBQ0EsdUNBQUE7QXpCc2dIRjtBSTFsR0k7RXFCcGJKO0lBWUksNkJBQUE7SUFDQSxpQ0FBQTtJQUNBLHVDQUFBO0V6QnNnSEY7RXlCcGdIRTtJQUNFLGFBQUE7RXpCc2dISjtBQUNGO0FJcG1HSTtFcUJwYko7SUFzQkksWUFBQTtJQUNBLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7RXpCc2dIRjtBQUNGOztBeUJqZ0hBO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtBekJvZ0hGOztBeUJoZ0hFO0VBQ0UsU0FBQTtFQUNBLFlBQUE7RUFDQSxZcEIvSlk7QUxrcUhoQjtBSXpuR0k7RXFCN1lGO0lBT0ksa0JBQUE7SUFDQSxTQUFBO0lBQ0EsUUFBQTtJQUNBLFlBQUE7SUFDQSxvQkFBQTtJQUNBLGdDQUFBO0lBQ0Esa0JBQUE7RXpCbWdISjtBQUNGOztBeUI3L0dFO0VBQ0UsU0FBQTtFQUNBLFlBQUE7RUFDQSxZcEJuTFk7QUxtckhoQjtBSTFvR0k7RXFCelhGO0lBTUksWUFBQTtJQUVBLGtCQUFBO0V6QmdnSEo7QUFDRjs7QXlCMy9HRTtFQUNFLFNBQUE7RUFDQSxZQUFBO0VBQ0EsWXBCak1ZO0FMK3JIaEI7QUl0cEdJO0VxQjNXRjtJQU1JLFVBQUE7SUFFQSxrQkFBQTtFekI4L0dKO0FBQ0Y7O0F5QjEvR0E7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxRQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0EsNEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0V0QnpMQSw4RkFBQTtBSHVySEY7QXlCMS9HRTtFQUNFLFVBQUE7RUFFQSxZQUFBO0F6QjIvR0o7QXlCdi9HRTtFQUNFLE1BQUE7RUFDQSxPQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtFQUNBLGtCQUFBO0V0QjlNRiw4RkFBQTtBSHdzSEY7QXlCci9HSTtFQUNFLFVBQUE7QXpCdS9HTjtBeUJuL0dJO0VBQ0UsYUFBQTtBekJxL0dOO0FJbnNHSTtFcUIzU0E7SUFHRSxrQkFBQTtJQUNBLFlBQUE7RXpCKytHSjtFeUI3K0dJO0lBQ0UsYUFBQTtFekIrK0dOO0V5QjUrR0k7SUFDRSxjQUFBO0V6QjgrR047QUFDRjs7QXlCeCtHRTtFQUVFLFlBQUE7QXpCMCtHSjtBSW50R0k7RXFCelJGO0lBS0ksWUFBQTtJQUNBLFlwQnRSVTtFTGl3SGQ7QUFDRjtBSXp0R0k7RXFCelJGO0lBVUksWUFBQTtJQUNBLGtCQUFBO0V6QjQrR0o7QUFDRjs7QXlCditHRTtFQUNFLFlBQUE7QXpCMCtHSjs7QXlCcitHRTtFQUNFLFlBQUE7QXpCdytHSjtBSXZ1R0k7RXFCbFFGO0lBSUksWUFBQTtJQUNBLFdBQUE7RXpCeStHSjtBQUNGOztBeUJyK0dBO0VBQ0UscUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0F6QncrR0Y7QXlCdCtHRTtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7QXpCdytHSjtBeUJwK0dFO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtBekJzK0dKOztBeUJsK0dBO0VBR0UscUJBQUE7RUFDQSxZQUFBO0VBQ0EsNkJBQUE7RUFDQSx3REFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLGtCQUFBO0F6Qm0rR0Y7QUloeEdJO0VxQmpPSjtJQXdCSSw2QkFBQTtJQUNBLGlDQUFBO0lBQ0EsdUNBQUE7RXpCNjlHRjtFeUJ4OUdFO0lBQ0UsV0FBQTtJQUNBLFlBQUE7SUFDQSxpQkFBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtJQUNBLHVCQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7RXpCMDlHSjtFeUJuZ0hGO0lBNENJLDZCQUFBO0lBQ0EsaUNBQUE7SUFDQSx1Q0FBQTtJQUNBLGdCQUFBO0lBQ0EsWXBCeFhZO0VMazFIZDtBQUNGOztBeUJ2OUdBO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QXpCMDlHRjtBSXZ6R0k7RXFCL0pFO0lBQ0UsU0FBQTtFekJ5OUdOO0FBQ0Y7O0F5QnA5R0E7RUFDRSxhQUFBO0F6QnU5R0Y7O0F5QnA5R0E7RUFDRSx1Q0FBQTtFQUNBLFlBQUE7RUFDQSxPQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLDZCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0F6QnU5R0Y7QXlCcjlHRTtFQUNFLGNBQUE7QXpCdTlHSjtBeUJwOUdFO0VBQ0UsZUFBQTtBekJzOUdKO0F5Qm45R0U7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSw2QkFBQTtFQUNBLGNBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7QXpCcTlHSjtBeUJsOUdFO0VBQ0Usc0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxlQUFBO0VBRUEsT0FBQTtFQUNBLFFBQUE7RUFDQSwyREFBQTtFQUNBLFVBQUE7QXpCbTlHSjtBSXgyR0k7RXFCdkhGO0lBZUksYUFBQTtFekJvOUdKO0FBQ0Y7QXlCLzhHRTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7QXpCaTlHSjtBeUI3OEdJO0VBQ0UsV0FBQTtFQUNBLDZCQUFBO0F6Qis4R047QXlCMThHSTtFQUNFLG9CQUFBO0F6QjQ4R047QXlCdjhHSTtFQUNFLHVCQUFBO0F6Qnk4R047QXlCcDhHSTtFQUNFLHVCQUFBO0F6QnM4R047O0FJbDRHSTtFcUI3REY7SUFFRSxZcEI5ZVk7SW9CK2VaLGFwQi9lWTtJb0JnZlosY3BCaGZZO0lvQmlmWiwrQkFBQTtJQUNBLGVBQUE7RXpCazhHRjtBQUNGO0FJNTRHSTtFcUIvQ0Y7SUFDRSxhQUFBO0V6Qjg3R0Y7QUFDRjtBMEI5N0hBOzs7Ozs7Ozs7OztDQUFBO0FBY0E7RUFDRSxtQ0FBQTtFQUNBLDhCQUFBO0VBQ0EseUNBQUE7RUFDQSx3Q0FBQTtFQUNBLHNDQUFBO0VBRUEsZ0JBQUE7QTFCNjdIRjtBMEIzN0hFO0VBQ0UsYUFBQTtBMUI2N0hKO0EwQjE3SEU7RUFDRSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsaUNBQUE7RUFDQSx1Q0FBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtBMUI0N0hKO0EwQno3SEU7RUFDRSxpQkFBQTtBMUIyN0hKO0EwQjE3SEk7RUFDRSx5QkFBQTtFQUNBLHFCQUFBO0ExQjQ3SE47QTBCMTdITTtFQUNFO0lBQ0UscUJBQUE7RTFCNDdIUjtBQUNGO0EwQng3SEU7RUFDRSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFDQSw2QkFBQTtFQUNBLDJCQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtBMUIwN0hKO0EwQnY3SEk7RUFDRSwyQkFBQTtBMUJ5N0hOO0FJMThHSTtFc0IvaEJKO0lBcURJLG9CQUFBO0lBQ0Esa0JBQUE7SUFDQSxzQkFBQTtFMUJ3N0hGO0UwQnQ3SEU7SUFDRSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxlQUFBO0lBQ0EsOEJBQUE7RTFCdzdISjtFMEJyN0hFO0lBQ0UsV0FBQTtFMUJ1N0hKO0UwQnI3SEk7SUFDRSwwQkFBQTtFMUJ1N0hOO0FBQ0Y7O0EyQjUrSEU7RXhCTEEsc0NBQUE7RUFDQSxvQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0FIcS9IRjtBMkI5K0hJOzs7RUFHRSxhQUFBO0VBQ0EsdUJBQUE7QTNCZy9ITjs7QTJCMy9IRTtFeEJMQSxzQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsK0JBQUE7QUhvZ0lGO0EyQjcvSEk7OztFQUdFLGFBQUE7RUFDQSx1QkFBQTtBM0IrL0hOOztBMkIxZ0lFO0V4QkxBLHNDQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLDBDQUFBO0VBQ0EsdUJBQUE7RUFDQSwrQkFBQTtBSG1oSUY7QTJCNWdJSTs7O0VBR0UsYUFBQTtFQUNBLHVCQUFBO0EzQjhnSU47O0EyQnpoSUU7RXhCTEEsc0NBQUE7RUFDQSx3Q0FBQTtFQUNBLGdCQUFBO0VBQ0EseUNBQUE7RUFDQSx1QkFBQTtFQUNBLCtCQUFBO0FIa2lJRjtBMkIzaElJOzs7RUFHRSxhQUFBO0VBQ0EsdUJBQUE7QTNCNmhJTjs7QTJCeGlJRTtFeEJMQSxzQ0FBQTtFQUNBLHVDQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5Q0FBQTtFQUNBLGlCQUFBO0VBQ0EsK0JBQUE7QUhpaklGO0EyQjFpSUk7OztFQUdFLGFBQUE7RUFDQSx1QkFBQTtBM0I0aUlOOztBMkJ2aklFO0V4QkxBLHNDQUFBO0VBQ0Esd0NBQUE7RUFDQSxnQkFBQTtFQUNBLHdDQUFBO0VBQ0EsaUJBQUE7RUFDQSwrQkFBQTtBSGdrSUY7QTJCempJSTs7O0VBR0UsYUFBQTtFQUNBLHVCQUFBO0EzQjJqSU47O0EyQnRrSUU7RXhCTEEsc0NBQUE7RUFDQSxvQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0FIK2tJRjtBMkJ4a0lJOzs7RUFHRSxhQUFBO0VBQ0EsdUJBQUE7QTNCMGtJTjs7QTJCcmxJRTtFeEJMQSx1Q0FBQTtFQUNBLHdDQUFBO0VBQ0EsZ0JBQUE7RUFDQSx3Q0FBQTtFQUNBLHVCQUFBO0VBQ0EsK0JBQUE7QUg4bElGO0EyQnZsSUk7OztFQUdFLGFBQUE7RUFDQSx1QkFBQTtBM0J5bElOOztBMkJwbUlFO0V4QkxBLHVDQUFBO0VBQ0Esd0NBQUE7RUFDQSxnQkFBQTtFQUNBLDBDQUFBO0VBQ0EsdUJBQUE7RUFDQSwrQkFBQTtBSDZtSUY7QTJCdG1JSTs7O0VBR0UsYUFBQTtFQUNBLHVCQUFBO0EzQndtSU47O0EyQm5uSUU7RXhCTEEsc0NBQUE7RUFDQSxvQ0FBQTtFQUNBLGdCQUFBO0VBQ0EsMENBQUE7RUFDQSxpQkFBQTtFQUNBLCtCQUFBO0FING5JRjtBMkJybklJOzs7RUFHRSxhQUFBO0VBQ0EsdUJBQUE7QTNCdW5JTiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NhbnMrSlA6d2dodEAzMDA7NDAwOzUwMDs3MDAmZGlzcGxheT1zd2FwXCIpO1xuLnBzZXVkbyB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi53aWRlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udGV4dC1ibGFjayB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbn1cbi50ZXh0LXdoaXRlLCAuYmFja2dyb3VuZC1ibGFjayB7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbn1cblxuLmJhY2tncm91bmQtYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjMUExQTE4ICFpbXBvcnRhbnQ7XG59XG4uYmFja2dyb3VuZC13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuLmJhY2tncm91bmQtY2FwcHVjY2lubyB7XG4gIGJhY2tncm91bmQ6ICM5MDY0NEMgIWltcG9ydGFudDtcbn1cbi5iYWNrZ3JvdW5kLXJlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlZCkgIWltcG9ydGFudDtcbn1cbi5iYWNrZ3JvdW5kLWJsdWUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ibHVlKSAhaW1wb3J0YW50O1xufVxuLmJhY2tncm91bmQteWVsbG93IHtcbiAgYmFja2dyb3VuZDogdmFyKC0teWVsbG93KSAhaW1wb3J0YW50O1xufVxuLmJhY2tncm91bmQtb2ZmLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tb2ZmLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jbGVhcmZpeDpiZWZvcmUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBhZGRlZCB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG4gIC5kZXNrdG9wLXVwLFxuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnRhYmxldC1kb3duIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxldC1vbmx5LFxuICAuaGlkZS1mb3ItbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9iaWxlLW9ubHksXG4gIC5oaWRlLWZvci10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50YWJsZXQtZG93bixcbiAgLnRhYmxldC1vbmx5LFxuICAuaGlkZS1mb3ItZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kZXNrdG9wLXVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG46cm9vdCB7XG4gIC0tc2l0ZS13aWR0aDogMTAwdnc7XG4gIC0tbWlkZGxlLWdyZXk6ICM5OTk7XG4gIC0tZGFya2Jyb3duOiAjMjYyNjI2O1xuICAtLW9mZi13aGl0ZTogI0UxRUZFRTtcbiAgLS1saWdodC1ncmV5OiAjZTRlNGU0O1xuICAtLXJlZDogI0ZFNDgyMztcbiAgLS1ibHVlOiAjNEQ5N0JGO1xuICAtLXllbGxvdzogI0Y4RjNDRDtcbiAgLS1vcmFuZ2U6ICNFREEzMTI7XG4gIC0tZ3JlZW46ICMzQzg1OTY7XG4gIC0tcHVycGxlOiAjRUI0QkQxO1xuICAtLWJhbm5lci1ncmV5OiAjOWQ4ZjhjO1xuICAtLWJhbm5lci1yZWQ6ICNGRjQ2MUU7XG4gIC0td2hpdGU6ICNmZmY7XG4gIC0tYmxhY2s6ICMwMDA7XG4gIC0tb2ZmLWJsYWNrOiAjMjIyO1xuICAtLWdyYXk6ICNhYWE7XG4gIC0tbG9hZC1tb3JlLWJhY2tncm91bmQ6ICMwMDA7XG4gIC0tZXh0ZW5zaW9uLWhvbWUtc2xpZGVzOiAjMDAwO1xuICAtLWV4dGVuc2lvbi1jb250ZW50LWdyaWQ6ICMwMDA7XG4gIC0tcGx5ci1jb2xvci1tYWluOiAjZmZmO1xuICAtLXBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlcjogIzk5OTtcbiAgLS1wbHlyLXZpZGVvLWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGx5ci1tZW51LWFycm93LXNpemU6IDIwcHg7XG4gIC0tY29sLTE6IGNhbGModmFyKC0tc2l0ZS13aWR0aCkgLyAxMik7XG4gIC0tY29sLTI6IGNhbGModmFyKC0tY29sLTEpICogMik7XG4gIC0tY29sLTM6IGNhbGModmFyKC0tY29sLTEpICogMyk7XG4gIC0tY29sLTQ6IGNhbGModmFyKC0tY29sLTEpICogNCk7XG4gIC0tY29sLTU6IGNhbGModmFyKC0tY29sLTEpICogNSk7XG4gIC0tY29sLTY6IGNhbGModmFyKC0tY29sLTEpICogNik7XG4gIC0tY29sLTc6IGNhbGModmFyKC0tY29sLTEpICogNyk7XG4gIC0tY29sLTg6IGNhbGModmFyKC0tY29sLTEpICogOCk7XG4gIC0tY29sLTk6IGNhbGModmFyKC0tY29sLTEpICogOSk7XG4gIC0tY29sLTEwOiBjYWxjKHZhcigtLWNvbC0xKSAqIDEwKTtcbiAgLS1jb2wtMTE6IGNhbGModmFyKC0tY29sLTEpICogMTEpO1xuICAtLXNjcm9sbGJhcjogY2FsYygxMDB2dyAtIDEwMCUpO1xuICAtLXNlY3Rpb24tbWFyZ2luOiAyLjg3NXJlbTtcbiAgLS1zZWN0aW9uLW1hcmdpbi1kb3VibGU6IDUuNzVyZW07XG4gIC0tZm9udC1zaXplLXM6IDEuMjVyZW07XG4gIC0tbGluZS1oZWlnaHQtczogMS4yNTtcbiAgLS1mb250LXNpemUtbTogMS44NzVyZW07XG4gIC0tbGluZS1oZWlnaHQtbTogMS4yO1xuICAtLWZvbnQtc2l6ZS1sOiAyLjVyZW07XG4gIC0tbGluZS1oZWlnaHQtbDogMTtcbiAgLS1mb250LXNpemUteGw6IDMuMTI1cmVtO1xuICAtLWxpbmUtaGVpZ2h0LXhsOiAxO1xuICAtLWZvbnQtc2l6ZS14eGw6IDMuNzVyZW07XG4gIC0tbGluZS1oZWlnaHQteHhsOiAxO1xuICAtLWxldHRlci1zcGFjaW5nLXM6IDA7XG4gIC0tbGV0dGVyLXNwYWNpbmctbTogMDtcbiAgLS1sZXR0ZXItc3BhY2luZy1sOiAwO1xuICAtLWxldHRlci1zcGFjaW5nLXhsOiAwO1xuICAtLWxldHRlci1zcGFjaW5nLXh4bDogMDtcbiAgLS1waGMtYmxhY2stYWY6ICMxNzE3MTc7XG4gIC0tcGhjLXdoaXRlLWFmOiAjRkFGQUZBO1xuICAtLXBoYy1wYXBlcjogI0ZBRkFGNjtcbiAgLS1waGMtZWdnOiAjRUFFQURBO1xuICAtLXBoYy10ZWFsOiAjRDFERURFO1xuICAtLXBoYy10ZWFsLXdhc2hvdXQ6ICMyNDJDMkM7XG4gIC0tcGhjLWdyYXk6ICM4NzkyOTI7XG4gIC0tcGhjLWdyYXktd2FzaG91dDogIzUwNTY1NjtcbiAgLS1waGMtb2NlYW46ICM0RUE1QzQ7XG4gIC0tcGhjLWJnOiB2YXIoLS1waGMtcGFwZXIpO1xuICAtLXBoYy1mZzogdmFyKC0tcGhjLWJsYWNrLWFmKTtcbiAgLS1waGMtbXV0ZWQ6IHZhcigtLXBoYy1ncmF5LXdhc2hvdXQpO1xuICAtLXBoYy1ydWxlOiB2YXIoLS1waGMtdGVhbCk7XG4gIC0tcGhjLWFjY2VudDogdmFyKC0tcGhjLW9jZWFuKTtcbiAgLS1waGMtcGFnZS13aWR0aDogOTByZW07XG4gIC0tcGhjLW1vYmlsZS1ib2R5LW1pbjogMTRweDtcbiAgLS1waGMtcm9vdDogMXJlbTtcbiAgLS1waGMtbWVudS1iZzogcmdiYSgzNiwgNDQsIDQ0LCAwLjcpO1xuICAtLXBoYy1tZW51LWZnOiB2YXIoLS1waGMtZ3JheSk7XG4gIC0tcGhjLW1lbnUtZmctYWN0aXZlOiB2YXIoLS1waGMtd2hpdGUtYWYpO1xuICAtLXBoYy1tZW51LWJnLWZhbGxiYWNrOiByZ2JhKDM2LCA0NCwgNDQsIDAuNyk7XG4gIC0tcGhjLWNvbnRyYXN0LWJnOiB2YXIoLS1waGMtdGVhbC13YXNob3V0KTtcbiAgLS1waGMtY29udHJhc3QtZmc6IHZhcigtLXBoYy1wYXBlcik7XG4gIC0tcGhjLWNvbnRyYXN0LW11dGVkOiB2YXIoLS1waGMtZ3JheSk7XG59XG5cbi5waGMtdGhlbWUtZGFyayB7XG4gIC0tcGhjLWJnOiB2YXIoLS1waGMtYmxhY2stYWYpO1xuICAtLXBoYy1mZzogdmFyKC0tcGhjLXdoaXRlLWFmKTtcbiAgLS1waGMtbXV0ZWQ6IHZhcigtLXBoYy1ncmF5KTtcbiAgLS1waGMtcnVsZTogdmFyKC0tcGhjLXRlYWwtd2FzaG91dCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tc2l0ZS13aWR0aDogMTAwdnc7XG4gIH1cbn1cbi8qISBGbGlja2l0eSB2Mi4yLjFcbmh0dHBzOi8vZmxpY2tpdHkubWV0YWZpenp5LmNvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBkcmFnZ2FibGUgKi9cbi8qIC0tLS0gZmxpY2tpdHktYnV0dG9uIC0tLS0gKi9cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cbi5mbGlja2l0eS1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZsaWNraXR5LWVuYWJsZWQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uZmxpY2tpdHktdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmZsaWNraXR5LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMTAwJSwgMC43NSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMzMzM7XG59XG4uZmxpY2tpdHktYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mbGlja2l0eS1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzE5Rjtcbn1cbi5mbGlja2l0eS1idXR0b246YWN0aXZlIHtcbiAgb3BhY2l0eTogMC42O1xufVxuLmZsaWNraXR5LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiB7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIC5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjAlO1xuICB0b3A6IDIwJTtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiA2MCU7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7XG59XG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDtcbn1cbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW46IDAgOHB4O1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdC5pcy1zZWxlY3RlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLUxpZ2h0LndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXItTGlnaHQud29mZj92PTMuMTlcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1MaWdodEl0YWxpYy53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLUxpZ2h0SXRhbGljLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSW50ZXItUmVndWxhci53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLVJlZ3VsYXIud29mZj92PTMuMTlcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFySXRhbGljLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXItUmVndWxhckl0YWxpYy53b2ZmP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLU1lZGl1bS53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLU1lZGl1bS53b2ZmP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLU1lZGl1bUl0YWxpYy53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLU1lZGl1bUl0YWxpYy53b2ZmP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLVNlbWlCb2xkLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSW50ZXItU2VtaUJvbGQud29mZj92PTMuMTlcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1TZW1pQm9sZEl0YWxpYy53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ludGVyLVNlbWlCb2xkSXRhbGljLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3Vpc3NlIEludGxcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtTGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWlzc2UvU3Vpc3NlSW50bC1MaWdodEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtTGlnaHRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWlzc2UvU3Vpc3NlSW50bC1NZWRpdW1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLU1lZGl1bUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3Vpc3NlIEludGxcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLVNlbWlCb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWlzc2UvU3Vpc3NlSW50bC1TZW1pQm9sZEl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuLmdyaWQtZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgbGVmdDogY2FsYygoMTAwdncgLSAodmFyKC0tc2l0ZS13aWR0aCkpIC0gKDEwMHZ3IC0gMTAwJSkpIC8gMik7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEyMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmdyaWQtZGVza3RvcC5vZmYge1xuICBvcGFjaXR5OiAwO1xufVxuLmdyaWQtZGVza3RvcF9fY29sIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBjYWxjKCh2YXIoLS1zaXRlLXdpZHRoKSkgLyAxMik7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM3Nzc7XG4gIG9wYWNpdHk6IDAuMTtcbn1cbi5ncmlkLWRlc2t0b3BfX2NvbDpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM3Nzc7XG59XG4uZ3JpZC1kZXNrdG9wX19jb2w6bnRoLWNoaWxkKDIpIHtcbiAgd2lkdGg6IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKSAvIDEyIC0gMzBweCk7XG59XG4uZ3JpZC1kZXNrdG9wX19jb2w6bnRoLWNoaWxkKDEzKSB7XG4gIHdpZHRoOiBjYWxjKCh2YXIoLS1zaXRlLXdpZHRoKSkgLyAxMiAtIDMwcHgpO1xufVxuLmdyaWQtZGVza3RvcF9fY29sOmxhc3QtY2hpbGQge1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzc3Nztcbn1cblxuLndyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLndyYXBwZXIuYmx1ciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLndyYXBwZXIge1xuICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC40cyBlYXNlLW91dDtcbn1cblxuLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNvbCB7XG4gIHdpZHRoOiA4LjMzJTtcbn1cbi5jb2wtMSB7XG4gIHdpZHRoOiA4LjMzJTtcbn1cbi5jb2wtMiB7XG4gIHdpZHRoOiAxNi42NiU7XG59XG4uY29sLTMge1xuICB3aWR0aDogMjUlO1xufVxuLmNvbC00IHtcbiAgd2lkdGg6IDMzLjMzJTtcbn1cbi5jb2wtNSB7XG4gIHdpZHRoOiA0MS42NSU7XG59XG4uY29sLTYge1xuICB3aWR0aDogNTAlO1xufVxuLmNvbC03IHtcbiAgd2lkdGg6IDU4LjMzJTtcbn1cbi5jb2wtOCB7XG4gIHdpZHRoOiA2Ni42NiU7XG59XG4uY29sLTkge1xuICB3aWR0aDogNzUlO1xufVxuLmNvbC0xMCB7XG4gIHdpZHRoOiA4My4zMyU7XG59XG4uY29sLTExIHtcbiAgd2lkdGg6IDkxLjY2JTtcbn1cbi5jb2wtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMlO1xufVxuLm9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2JTtcbn1cbi5vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG4ub2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMlO1xufVxuLm9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY1JTtcbn1cbi5vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7XG59XG4ub2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMlO1xufVxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2JTtcbn1cbi5vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG4ub2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzJTtcbn1cbi5vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjYlO1xufVxuLm9mZnNldC0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlO1xufVxuXG4udG90YWwtY29scy1tZC0xID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRvdGFsLWNvbHMtbWQtMiA+ICoge1xuICB3aWR0aDogNTAlO1xufVxuLnRvdGFsLWNvbHMtbWQtMyA+ICoge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cbi50b3RhbC1jb2xzLW1kLTEyID4gKiwgLnRvdGFsLWNvbHMtbWQtMTEgPiAqLCAudG90YWwtY29scy1tZC0xMSA+ICosIC50b3RhbC1jb2xzLW1kLTEwID4gKiwgLnRvdGFsLWNvbHMtbWQtOSA+ICosIC50b3RhbC1jb2xzLW1kLTggPiAqLCAudG90YWwtY29scy1tZC03ID4gKiwgLnRvdGFsLWNvbHMtbWQtNiA+ICosIC50b3RhbC1jb2xzLW1kLTUgPiAqLCAudG90YWwtY29scy1tZC00ID4gKiB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudG90YWwtY29scy1zbS0xID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnRvdGFsLWNvbHMtc20tMiA+ICoge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnRvdGFsLWNvbHMtc20tMiA+ICo6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnRvdGFsLWNvbHMtc20tMyA+ICoge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC50b3RhbC1jb2xzLXNtLTMgPiAqOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC50b3RhbC1jb2xzLXNtLTQgPiAqIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC50b3RhbC1jb2xzLXNtLTQgPiAqOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IGNhbGMoMC43MDNlbSArIDAuMzN2dyk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IG1heChjYWxjKHZhcigtLXBoYy1tb2JpbGUtYm9keS1taW4pICogMC43MjcyNzI3MjczKSwgY2FsYygxMDB2dyAvIDQ1KSk7XG4gIH1cbn1cbmh0bWwge1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuaHRtbC5vbGQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogY2FsYygxNHB4ICsgMC4zM3Z3KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBodG1sLm9sZCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEycHggKyAwLjMzdncpO1xuICB9XG59XG5odG1sLm9sZCB7XG4gIC0tcGhjLXJvb3Q6IDE2cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgaHRtbC5vbGQge1xuICAgIC0tcGhjLXJvb3Q6IG1heChjYWxjKHZhcigtLXBoYy1tb2JpbGUtYm9keS1taW4pICogMC43MjcyNzI3MjczKSwgY2FsYygxMDB2dyAvIDQ1KSk7XG4gIH1cbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImZyYWNcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjY21wXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImRsaWdcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibnVtclwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJkbm9tXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInN1cHNcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic3Vic1wiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjdlhYXCIgMTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xufVxuXG5hdWRpbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmNhbnZhcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5vbDpmaXJzdC1jaGlsZCxcbnVsOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbm9sOmxhc3QtY2hpbGQsXG51bDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbm9sIGxpLFxudWwgbGkge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG59XG5vbCBsaSArIGxpLFxudWwgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgb2wgbGksXG4gIHVsIGxpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgfVxufVxuXG51bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxudWwgPiBsaSB7XG4gIHRleHQtaW5kZW50OiAtMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnVsID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJRcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIHVsID4gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgfVxufVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHBldGVyaGFpbmVyLWN1c3RvbS1jb3VudGVyO1xufVxub2wgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBwZXRlcmhhaW5lci1jdXN0b20tY291bnRlcjtcbn1cbm9sIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIocGV0ZXJoYWluZXItY3VzdG9tLWNvdW50ZXIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gIHdpZHRoOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWN0aW9uLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2VjdGlvbi13cmFwcGVyLS1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQpO1xufVxuLnNlY3Rpb24td3JhcHBlci0tYmxhY2sge1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG59XG4uc2VjdGlvbi13cmFwcGVyLS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuXG4ubWFpbiAuYmFja2dyb3VuZC1jYXBwdWNjaW5vIGEsXG4ubWFpbiAuYmFja2dyb3VuZC1jYXBwdWNjaW5vIGEgPiAqLFxuLmJhY2tncm91bmQtY2FwcHVjY2lubyBhLFxuLmJhY2tncm91bmQtY2FwcHVjY2lubyBhID4gKiB7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5cbi5zZWN0aW9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbn1cbi5zZWN0aW9uLWNvbnRhaW5lci0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWZsb3c6IHdyYXA7XG59XG5cbi5hcnRpY2xlLW1haW4ge1xuICBtYXJnaW46IDBweCBhdXRvIDBweDtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbn1cblxuLmhlYWRsZXNzIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xufVxuXG4uYXJyb3ctbGluazphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1vdXQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuYXJyb3ctbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5hcnJvdy1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuXG5zbWFsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xufVxuXG4ubWFpbiAuaW50cm8tc2VjdGlvbl9fY2FsbCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm1haW4gLnRleHQtd2hpdGUsIC5tYWluIC5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubWFpbiBhOm5vdChbY2xhc3MqPXBoYy1dKSB7XG4gIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5tYWluIGgyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG59XG4ubWFpbiBoMiBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ubWFpbiB0YWJsZSBhLFxuLm1haW4gaDEgYSxcbi5tYWluIGgyIGEsXG4ubWFpbiBoMyBhLFxuLm1haW4gaDQgYSxcbi5tYWluIHAgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbn1cbi5tYWluIHRhYmxlIGE6aG92ZXIsXG4ubWFpbiBoMSBhOmhvdmVyLFxuLm1haW4gaDIgYTpob3Zlcixcbi5tYWluIGgzIGE6aG92ZXIsXG4ubWFpbiBoNCBhOmhvdmVyLFxuLm1haW4gcCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ubWFpbiB0YWJsZSBhLmFycm93LWxpbms6aG92ZXIsXG4ubWFpbiBoMSBhLmFycm93LWxpbms6aG92ZXIsXG4ubWFpbiBoMiBhLmFycm93LWxpbms6aG92ZXIsXG4ubWFpbiBoMyBhLmFycm93LWxpbms6aG92ZXIsXG4ubWFpbiBoNCBhLmFycm93LWxpbms6aG92ZXIsXG4ubWFpbiBwIGEuYXJyb3ctbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYVtocmVmXj10ZWxdIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmtlcm5pbmctMjUge1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG59XG5cbi50eXBlLXMge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcykgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpICFpbXBvcnRhbnQ7XG59XG5cbi50eXBlLW0ge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSkgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7XG59XG5cbi50eXBlLWwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCkgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpICFpbXBvcnRhbnQ7XG59XG5cbi50eXBlLXhsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bCkgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXhsKSAhaW1wb3J0YW50O1xufVxuXG4udHlwZS14eGwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14eGwpICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14eGwpICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy14eGwpICFpbXBvcnRhbnQ7XG59XG5cbi5waGMtdGhlbWUtYnJpZ2h0LFxuLnBoYy10aGVtZS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLWNvbnRyYXN0LWJnKTtcbn1cbi5waGMtdGhlbWUtYnJpZ2h0IC53cmFwcGVyLFxuLnBoYy10aGVtZS1kYXJrIC53cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLWJnKTtcbiAgY29sb3I6IHZhcigtLXBoYy1mZyk7XG59XG5cbmh0bWwucGhjLXRoZW1lLWJyaWdodCAud3JhcHBlcixcbmh0bWwucGhjLXRoZW1lLWRhcmsgLndyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tcGhjLWJnKSAxMDAlLCB2YXIoLS1waGMtY29udHJhc3QtYmcpIDEwMCUpO1xufVxuXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYyg0ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoNC4xMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xufVxuXG5oMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygyLjYyNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDIuNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xufVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjc1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMi4yNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic2FsdFwiIDE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG59XG5cbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygxLjM3NSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic2FsdFwiIDE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG59XG5cbnAge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoMS4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygxICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMS4xMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xufVxuXG4ub2xkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuICBjb2xvcjogdmFyKC0tYmxhY2spO1xufVxuLm9sZCBoMTpub3QoW2NsYXNzKj10ZXh0LXBoYy1dKSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXhsKTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLm9sZCBoMjpub3QoW2NsYXNzKj10ZXh0LXBoYy1dKSxcbi5vbGQgaDM6bm90KFtjbGFzcyo9dGV4dC1waGMtXSksXG4ub2xkIGg0Om5vdChbY2xhc3MqPXRleHQtcGhjLV0pLFxuLm9sZCBoNTpub3QoW2NsYXNzKj10ZXh0LXBoYy1dKSxcbi5vbGQgaDY6bm90KFtjbGFzcyo9dGV4dC1waGMtXSkge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm9sZCBwOm5vdChbY2xhc3MqPXRleHQtcGhjLV0pIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG59XG4ub2xkIC5tYWluIGgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGwpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcteGwpO1xufVxuLm9sZCAubWFpbiBoMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbn1cbi5vbGQgLm1haW4gaDMge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG59XG4ub2xkIC5tYWluIGg0IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xufVxuLm9sZCAubWFpbiBoMSwgLm9sZCAubWFpbiBoMiwgLm9sZCAubWFpbiBoMywgLm9sZCAubWFpbiBoNCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zZWN0aW9uLW1hcmdpbikgLyAyKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm9sZCAubWFpbiBwIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAub2xkIC5tYWluIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG4gIH1cbiAgLm9sZCAubWFpbi5tYWluLS1jb250YWN0Lm1haW4tLWFydGljbGUgaDEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gIH1cbiAgLm9sZCAubWFpbjpub3QoLm1haW4tLWNvbnRhY3QpIGgxIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vbGQgLm1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDBweCA0MHB4O1xuICB9XG4gIC5vbGQgLm1haW4gaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm9sZCAubWFpbiBoMSxcbiAgLm9sZCAubWFpbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNlY3Rpb24tbWFyZ2luKSAvIDIpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm9sZCAubWFpbiBwLFxuICAub2xkIHAge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gIH1cbn1cblxuLm1lbnUtYnVyZ2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAzMnB4O1xuICB6LWluZGV4OiA1MDA7XG4gIHdpZHRoOiAyLjgxMjVyZW07XG4gIGhlaWdodDogMi4xMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG59XG4uYWRtaW4tYmFyIC5tZW51LWJ1cmdlciB7XG4gIHRvcDogMzJweDtcbn1cbi5tZW51LWJ1cmdlci5hY3RpdmUge1xuICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLm1lbnUtYnVyZ2VyOmhvdmVyIC5tZW51LWJ1cmdlcl9fYmFyLS0xID4gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNXB4KTtcbiAgfVxuICAubWVudS1idXJnZXI6aG92ZXIgLm1lbnUtYnVyZ2VyX19iYXItLTIgPiBzdmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDVweCk7XG4gIH1cbiAgLm1lbnUtYnVyZ2VyLmFjdGl2ZTpob3ZlciAubWVudS1idXJnZXJfX2Jhci0tMSA+IHN2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwcHgpO1xuICB9XG4gIC5tZW51LWJ1cmdlci5hY3RpdmU6aG92ZXIgLm1lbnUtYnVyZ2VyX19iYXItLTIgPiBzdmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1lbnUtYnVyZ2VyIHtcbiAgICB0b3A6IDMycHg7XG4gICAgcmlnaHQ6IDY0cHg7XG4gIH1cbn1cbi5tZW51LWJ1cmdlcl9fYmFyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIuODEyNXJlbTtcbiAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG59XG4uYWN0aXZlIC5tZW51LWJ1cmdlcl9fYmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICB3aWR0aDogMy43NXJlbTtcbn1cbi5tZW51LWJ1cmdlcl9fYmFyLS0xIHtcbiAgdG9wOiAwO1xufVxuLm1lbnUtYnVyZ2VyX19iYXItLTIge1xuICB0b3A6IDEuNDM3NXJlbTtcbn1cbi5hY3RpdmUgLm1lbnUtYnVyZ2VyX19iYXItLTEge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwLjYyNXJlbSk7XG59XG4uYWN0aXZlIC5tZW51LWJ1cmdlcl9fYmFyLS0yIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTAuNjI1cmVtKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLm1lbnUtYnVyZ2VyX19iYXIuYWN0aXZlIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbiAgfVxufVxuLm1lbnUtYnVyZ2VyLnJldmVyc2Uge1xuICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsO1xuICBmaWx0ZXI6IGludmVydCgxKTtcbn1cbi5tZW51LWJ1cmdlci5yZXZlcnNlIC5tZW51LWJ1cmdlcl9fYmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spO1xufVxuXG4uYmFja2dyb3VuZC0tZGFyayBzdmcgcGF0aCB7XG4gIGZpbGw6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xufVxuLmJhY2tncm91bmQtLWxpZ2h0IHN2ZyBwYXRoIHtcbiAgZmlsbDogdmFyKC0tYmxhY2spICFpbXBvcnRhbnQ7XG59XG5cbi5tYWluLWxvZ28gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1cmVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDUwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDkuNTYyNXJlbTtcbiAgfVxufVxuLm1haW4tbG9nbyAuaG9tZS1vbmx5IHtcbiAgdG9wOiAzNXB4O1xuICBsZWZ0OiAzNXB4O1xuICBvcGFjaXR5OiAwO1xufVxuYm9keS5ob21lIC5tYWluLWxvZ28gLmhvbWUtb25seSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWFpbi1sb2dvIC5hY3RpdmUtb25seSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA3MHB4O1xuICBsZWZ0OiA2MHB4O1xuICB3aWR0aDogNS42MjVyZW07XG4gIGZpbHRlcjogaW52ZXJ0KDEpO1xufVxuYm9keS5ob21lIC5tYWluLWxvZ28ub24tbWVudSAuaG9tZS1vbmx5LFxuLm1haW4tbG9nby5vbi1tZW51IC5ob21lLW9ubHkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XG59XG4ubWFpbi1sb2dvLm9uLW1lbnUgLmFjdGl2ZS1vbmx5IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0IDAuMjVzO1xufVxuXG4ubWFpbi1tZW51X19jb250YWluZXJfX292ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDQ1MDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogNi4yNXJlbSAyLjVyZW0gMS44NzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cbi5tYWluLW1lbnVfX2NvbnRhaW5lcl9fb3ZlcmxheS1iZyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiA0MDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB0b3A6IC0xMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubWFpbi1tZW51X19jb250YWluZXIuYWN0aXZlIC5tYWluLW1lbnVfX2NvbnRhaW5lcl9fb3ZlcmxheSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG59XG4ubWFpbi1tZW51X19jb250YWluZXIuYWN0aXZlIC5tYWluLW1lbnVfX2NvbnRhaW5lcl9fb3ZlcmxheS1iZyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cbi5tYWluLW1lbnVfX2ZpbHRlci1saXN0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaG93LWdyaWQtY29udGFpbmVyIC5tYWluLW1lbnVfX2ZpbHRlci1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWFpbi1tZW51X19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogOS4zNzVyZW0gMCAwO1xufVxuLnNob3ctZ3JpZC1jb250YWluZXIgLm1haW4tbWVudV9fbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbWVudV9fbGlzdCB7XG4gICAgcGFkZGluZzogOS4zNzVyZW0gMS44NzVyZW0gMDtcbiAgfVxufVxuLm1haW4tbWVudV9faXRlbSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNC42ODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5tYWluLW1lbnVfX2l0ZW0gc3ViIHtcbiAgdG9wOiAtMC4yNWVtO1xuICBib3R0b206IGF1dG87XG59XG4ubWFpbi1tZW51X19pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWFpbi1tZW51X19pdGVtLS10d28tbGluZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSwgLm1haW4tbWVudV9fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbTpob3ZlciwgLm1haW4tbWVudV9fbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSwgLm1haW4tbWVudV9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbS5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xufVxuXG5ib2R5LmhlYWRsZXNzIC5tZW51LWJ1cmdlciBwYXRoIHtcbiAgZmlsbDogdmFyKC0tYmxhY2spO1xufVxuYm9keS5oZWFkbGVzcyAubWVudS1idXJnZXIuYWN0aXZlIHBhdGgge1xuICBmaWxsOiB2YXIoLS13aGl0ZSk7XG59XG5ib2R5LmhlYWRsZXNzIC5tYWluLWxvZ28gcGF0aCB7XG4gIGZpbGw6IHZhcigtLWJsYWNrKTtcbn1cbmJvZHkuaGVhZGxlc3MgLm1haW4tbG9nby5vbi1tZW51IHBhdGgge1xuICBmaWxsOiB2YXIoLS13aGl0ZSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1tZW51X19jb250YWluZXJfX292ZXJsYXkge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwIDMuMTI1cmVtIDMuMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gIH1cbiAgLm1haW4tbWVudV9fY29udGFpbmVyIC5maWx0ZXItbWVudS1pdGVtLFxuICAubWFpbi1tZW51X19pdGVtIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSxcbiAgLm1haW4tbWVudV9faXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICB9XG4gIC5tYWluLW1lbnVfX2l0ZW0tLXR3by1saW5lIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmdyaWQtZGVza3RvcCB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgei1pbmRleDogMTIwMDtcbiAgICBtYXJnaW46IDAgMi41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzc3NztcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNzc3O1xuICB9XG4gIC5ncmlkLWRlc2t0b3Aub2ZmIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5ncmlkLWRlc2t0b3BfX2NvbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM0OXB4KSB7XG4gIC5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSxcbiAgLm1haW4tbWVudV9faXRlbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICB9XG59XG4ucGhjLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGNhbGMoMS4yNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgY2FsYygxLjI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucGhjLW1lbnVfX2JhciB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLXBoYy1wYWdlLXdpZHRoKTtcbiAgaGVpZ2h0OiBjYWxjKDQuMzc1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMi4xODc1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UsIG1heC13aWR0aCAwLjRzIGVhc2UsIHRyYW5zZm9ybSAwLjRzIGVhc2U7XG59XG4ucGhjLW1lbnUgLnBoYy1nbGFzcy1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucGhjLW1lbnVfX2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGNhbGMoMSAqIHZhcigtLXBoYy1yb290KSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgY2FsYygxICogdmFyKC0tcGhjLXJvb3QpKTtcbn1cbi5waGMtbWVudV9fbG9nbyB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygyICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgaGVpZ2h0OiBjYWxjKDIgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBoYy1tZW51LWZnKTtcbiAgbWFzazogdXJsKFwiLi4vaW1hZ2VzL2gtbG9nby5zdmdcIikgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAtd2Via2l0LW1hc2s6IHVybChcIi4uL2ltYWdlcy9oLWxvZ28uc3ZnXCIpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnBoYy1tZW51X19pdGVtIHtcbiAgZmxleDogMSAwIDA7XG4gIG1pbi13aWR0aDogMDtcbiAgY29sb3I6IHZhcigtLXBoYy1tZW51LWZnKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5waGMtbWVudV9faXRlbS5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tcGhjLW1lbnUtZmctYWN0aXZlKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5waGMtbWVudV9faXRlbTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXBoYy1tZW51LWZnLWFjdGl2ZSk7XG4gIH1cbn1cbi5waGMtbWVudV9fbGlua2VkaW4ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMi41ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgaGVpZ2h0OiBjYWxjKDIuNSAqIHZhcigtLXBoYy1yb290KSk7XG59XG4ucGhjLW1lbnVfX2xpbmtlZGluIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGhjLW1lbnVbZGF0YS1nbGFzcz13ZWJnbF0gLnBoYy1tZW51X19iYXIsXG4ucGhjLW1lbnVbZGF0YS1nbGFzcz1wbGFpbl0gLnBoYy1tZW51X19iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waGMtbWVudS1iZy1mYWxsYmFjayk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpLCBpbnNldCAtMXB4IC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucGhjLW1lbnVbZGF0YS1nbGFzcz13ZWJnbF0ucGhjLW1lbnUtLWdsYXNzLXJlYWR5IC5waGMtbWVudV9fYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5waGMtbWVudS0tbWluIC5waGMtbWVudV9fYmFyIHtcbiAgd2lkdGg6IGNhbGMoNC4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoNC4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tcGhjLW1lbnUtc2hpZnQsIDBweCkpO1xufVxuLnBoYy1tZW51LS1taW4gLnBoYy1tZW51X19pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnBoYy1tZW51LS1taW4gLnBoYy1tZW51X19pdGVtLFxuLnBoYy1tZW51LS1taW4gLnBoYy1tZW51X19saW5rZWRpbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5waGMtbWVudS0tYmFjayB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ucGhjLW1lbnUtLWJhY2sgLnBoYy1tZW51X19iYXIge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5waGMtbWVudS0tYmFjayAucGhjLW1lbnVfX2lubmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5waGMtbWVudV9fYmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNDglO1xuICBoZWlnaHQ6IDQ4JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLW1lbnUtZmcpO1xuICBtYXNrOiB1cmwoXCIuLi9pbWFnZXMvYmFjay1hcnJvdy5zdmdcIikgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAtd2Via2l0LW1hc2s6IHVybChcIi4uL2ltYWdlcy9iYWNrLWFycm93LnN2Z1wiKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5waGMtbWVudV9fYmFjazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLW1lbnUtZmctYWN0aXZlKTtcbiAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGhjLW1lbnVfX2JhY2sge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGhjLW1lbnUge1xuICAgIGJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICB9XG4gIC5waGMtbWVudV9fbG9nbywgLnBoYy1tZW51X19saW5rZWRpbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucGhjLW1lbnVfX2JhciB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygxLjYyNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIH1cbiAgLnBoYy1tZW51X19pbm5lciB7XG4gICAgZ2FwOiBjYWxjKDAuNSAqIHZhcigtLXBoYy1yb290KSk7XG4gICAgcGFkZGluZzogMCBjYWxjKDAuNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIH1cbiAgLnBoYy1tZW51X19pdGVtIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG4gIC5waGMtbWVudS0tbWluIC5waGMtbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygzLjI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMy4yNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIH1cbn1cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDJyZW0gMnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAyLjgxMjVyZW0gMnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXJfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuLmZvb3RlciBwIHtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLmZvb3RlciBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmZvb3RlciBhIHtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cbi5mb290ZXJfX2xvZ28ge1xuICBmaWx0ZXI6IGludmVydCgxKTtcbn1cbi5mb290ZXJfX2xvZ29fX2ltZyB7XG4gIG1heC13aWR0aDogN3JlbTtcbn1cbi5mb290ZXJfX2xvZ28ge1xuICBtYXJnaW4tYm90dG9tOiA0LjM3NXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9vdGVyX19sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxufVxuLmZvb3Rlcl9fd3lzaXd5ZyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbi5mb290ZXJfX3d5c2l3eWc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlcl9fd3lzaXd5ZyB7XG4gICAgbWFyZ2luLXRvcDogMi44MTI1cmVtO1xuICB9XG4gIC5mb290ZXJfX3d5c2l3eWc6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNS4zMTI1cmVtO1xuICB9XG59XG5cbi5waGMtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IGNhbGMoMi41ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLWNvbnRyYXN0LWJnKTtcbiAgY29sb3I6IHZhcigtLXBoYy1jb250cmFzdC1mZyk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnBoYy1mb290ZXIgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5waGMtZm9vdGVyX19sb2dvIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5waGMtZm9vdGVyX19kaXZpZGVyIHtcbiAgd2lkdGg6IGNhbGMoNy41ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgaGVpZ2h0OiBjYWxjKDAuNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4ucGhjLWZvb3Rlcl9fYmlvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjYWxjKDEuMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBtYXgtd2lkdGg6IGNhbGMoMzEuMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xufVxuLnBoYy1mb290ZXJfX2JpbyBwOm5vdChbbGFuZ10pIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5waGMtZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogY2FsYygwLjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnBoYy1mb290ZXJfX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGNhbGMoMS4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBoZWlnaHQ6IGNhbGMoMS4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xufVxuXG4ucGhjLWhhcy1tZW51IC5waGMtZm9vdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDguMTI1cmVtO1xufVxuXG5bdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9d2Vla10sIFt0eXBlPWVtYWlsXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9c2VhcmNoXSwgW3R5cGU9dGVsXSwgW3R5cGU9dGltZV0sIFt0eXBlPXVybF0sIFt0eXBlPWNvbG9yXSxcbmlucHV0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ibGFjayk7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbn1cblt0eXBlPXRleHRdOmZvY3VzLCBbdHlwZT1wYXNzd29yZF06Zm9jdXMsIFt0eXBlPWRhdGVdOmZvY3VzLCBbdHlwZT1kYXRldGltZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cywgW3R5cGU9bW9udGhdOmZvY3VzLCBbdHlwZT13ZWVrXTpmb2N1cywgW3R5cGU9ZW1haWxdOmZvY3VzLCBbdHlwZT1udW1iZXJdOmZvY3VzLCBbdHlwZT1zZWFyY2hdOmZvY3VzLCBbdHlwZT10ZWxdOmZvY3VzLCBbdHlwZT10aW1lXTpmb2N1cywgW3R5cGU9dXJsXTpmb2N1cywgW3R5cGU9Y29sb3JdOmZvY3VzLFxuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICByZXNpemU6IG5vbmU7XG59XG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsXG5pbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxubGFiZWwge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5idXR0b246aG92ZXIsIC5idXR0b246YWN0aXZlIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b24ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICB9XG59XG4ucGhjLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMi41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMi41cmVtO1xuICBjb2xvcjogdmFyKC0tcGhjLWZnKTtcbn1cbi5waGMtYmxvY2tfX3JvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMS4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGhjLWJsb2NrX19sYWJlbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4td2lkdGg6IGNhbGMoKDEwMCUgLSAyLjVyZW0pICogNDIwIC8gMTMyMCk7XG4gIG1heC13aWR0aDogY2FsYygoMTAwJSAtIDIuNXJlbSkgKiA0MjAgLyAxMzIwKTtcbn1cbi5waGMtYmxvY2tfX2VuIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5waGMtYmxvY2tfX2pwIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5waGMtYmxvY2tfX3RpdGxlIHtcbiAgZmxleDogMSAwIDA7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDEwMCUgLSAyLjVyZW0pICogMzEwIC8gMTMyMCAtIDEuMjVyZW0pO1xuICBtYXJnaW46IDA7XG59XG4ucGhjLWJsb2NrX19maWd1cmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gMi41cmVtKSAqIDQ1MCAvIDEzMjApO1xufVxuLnBoYy1ibG9ja19fZmlndXJlLXZhbHVlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDAuMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiBjYWxjKDcuNjI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbn1cbi5waGMtYmxvY2tfX2ZpZ3VyZS1jYXB0aW9uIHAge1xuICBtYXJnaW46IDA7XG59XG4ucGhjLWJsb2NrX19sYWJlbC0tbXV0ZWQge1xuICBjb2xvcjogdmFyKC0tcGhjLW11dGVkKTtcbn1cbi5waGMtYmxvY2tfX2ludHJvIHtcbiAgZmxleDogMSAwIDA7XG59XG4ucGhjLWJsb2NrX19pbnRyby0tanAge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogY2FsYygoMTAwJSAtIDIuNXJlbSkgKiA0MjAgLyAxMzIwICsgMS4yNXJlbSk7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gY2FsYygoMTAwJSAtIDIuNXJlbSkgKiA0MjAgLyAxMzIwICsgMS4yNXJlbSkpO1xufVxuLnBoYy1ibG9ja19fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNjI1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnBoYy1ibG9ja19fbGluayBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG59XG4ucGhjLWJsb2NrX19kZXRhaWwge1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnBoYy1ibG9ja19fZGV0YWlsIHAge1xuICBtYXJnaW46IDA7XG59XG4ucGhjLWJsb2NrX19sYWJlbCA+IDpsYXN0LWNoaWxkLCAucGhjLWJsb2NrX19lbiA+IDpsYXN0LWNoaWxkLCAucGhjLWJsb2NrX19qcCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5waGMtYmxvY2tfX3J1bGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBoYy1ydWxlKTtcbn1cbi5waGMtYmxvY2tfX3J1bGUtLWdyYXkge1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1waGMtZ3JheSk7XG59XG4ucGhjLWJsb2NrX19ydWxlLS13aGl0ZSB7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBoYy13aGl0ZS1hZik7XG59XG4ucGhjLWJsb2NrX19ydWxlLS1ibGFjayB7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBoYy1ibGFjay1hZik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGhjLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgZ2FwOiAxLjI1cmVtO1xuICB9XG4gIC5waGMtYmxvY2tfX3RpdGxlLCAucGhjLWJsb2NrX19kZXRhaWwsIC5waGMtYmxvY2tfX2xhYmVsLCAucGhjLWJsb2NrX19lbiwgLnBoYy1ibG9ja19fanAsIC5waGMtYmxvY2tfX2ludHJvIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5waGMtYmxvY2tfX2ludHJvLS1qcCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucGhjLWJsb2NrX19maWd1cmUtdmFsdWUge1xuICAgIC0tcGhjLXJvb3Q6IGNhbGMoMTAwdncgLyA0NSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAucGhjLWJsb2NrX19maWd1cmUtdmFsdWUge1xuICAgIC0tcGhjLXJvb3Q6IGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gODIuNSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGhjLWJsb2NrX19maWd1cmUge1xuICAgIGZsZXg6IDEgMSBjYWxjKDUwJSAtIDEuMjVyZW0gLyAyKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbi5waGMtYmxvY2stLWV4cGVyaWVuY2UsXG4ucGhjLWJsb2NrLS1wcm9maWxlLWludHJvIHtcbiAgZ2FwOiAxLjI1cmVtO1xufVxuXG4ucGhjLWJsb2NrX19yb3ctLWVudHJ5IHtcbiAgcm93LWdhcDogMC4yNXJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5waGMtYmxvY2stLWV4cGVyaWVuY2UgLnBoYy1ibG9ja19fcm93LS1lbnRyeSAucGhjLWJsb2NrX19kZXRhaWwsXG4gIC5waGMtYmxvY2stLWRldGFpbHMgLnBoYy1ibG9ja19fZGV0YWlsIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC5waGMtYmxvY2tfX2xhYmVsOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucGhjLWJsb2NrLS1kaXZpZGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnBoYy1ibG9jay0tZGl2aWRlciAucGhjLWJsb2NrX19ydWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbi5waGMtYmxvY2stLWRldGFpbHMge1xuICBnYXA6IDEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG5bY2xhc3MqPXNlY3Rpb24td3JhcHBlci0tYmxvY2stXTpub3QoLmJhY2tncm91bmQpOm5vdCguc2VjdGlvbi13cmFwcGVyLS1ibG9jay1yZWxhdGVkKTpub3QoLnNlY3Rpb24td3JhcHBlci0tYmxvY2stZGl2aWRlcikgKyBbY2xhc3MqPXNlY3Rpb24td3JhcHBlci0tYmxvY2stXTpub3QoLmJhY2tncm91bmQpOm5vdCguc2VjdGlvbi13cmFwcGVyLS1ibG9jay1yZWxhdGVkKTpub3QoLnNlY3Rpb24td3JhcHBlci0tYmxvY2stZGl2aWRlcikgLnBoYy1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucGhjLWFycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgYTpob3ZlciAucGhjLWFycm93IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC4zNzVyZW0pO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAucGhjLWFycm93IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4ucGhjLXJlbGF0ZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDEuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBoYy1jb250cmFzdC1iZyk7XG4gIGNvbG9yOiB2YXIoLS1waGMtY29udHJhc3QtZmcpO1xufVxuLnBoYy1yZWxhdGVkX19oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cbi5waGMtcmVsYXRlZF9fY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAwIDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYXNwZWN0LXJhdGlvOiAxNDQwLzcyMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnBoYy1yZWxhdGVkX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLnBoYy1yZWxhdGVkX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1waGMtd2hpdGUtYWYpO1xufVxuLnBoYy1yZWxhdGVkX19jbGllbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5waGMtcmVsYXRlZCB7XG4gICAgcGFkZGluZzogMi41cmVtO1xuICB9XG4gIC5waGMtcmVsYXRlZF9fY2FyZCB7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEzLjc1cmVtO1xuICB9XG59XG4uaW50cm8tc2VjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5pbnRyby1zZWN0aW9uIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKSAvIDMpO1xuICBwYWRkaW5nOiA0MHB4IDAgNjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmludHJvLXNlY3Rpb25fX2xlZnQtY29sIHtcbiAgd2lkdGg6IHZhcigtLWNvbC00KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1jb2wtMSk7XG4gIHBhZGRpbmc6IDA7XG59XG4uaW50cm8tc2VjdGlvbl9fcmlnaHQtY29sIHtcbiAgd2lkdGg6IHZhcigtLWNvbC01KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG59XG4uaW50cm8tc2VjdGlvbl9faDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuLmludHJvLXNlY3Rpb25fX3RleHQge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xufVxuLmludHJvLXNlY3Rpb25fX2NhbGwge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1MDtcbn1cbi5pbnRyby1zZWN0aW9uX19jYWxsIGEge1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuaW50cm8tc2VjdGlvbl9fY2FsbDpob3ZlciAuaW50cm8tc2VjdGlvbl9fYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi5pbnRyby1zZWN0aW9uX19hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4ycyBlYXNlLW91dDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5hcnJvdy1zbGlkaW5nLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLmZsb3ctYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjdzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZsb3ctYmxvY2sgLmFycm93LXNsaWRpbmctcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5mbG93LWJsb2NrOmhvdmVyIC5hcnJvdy1zbGlkaW5nLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICB9XG59XG4uZmxvdy1ibG9jay0tbm8tbGluayAuYXJyb3ctc2xpZGluZy1yaWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbnRyby1zZWN0aW9uX190ZXh0LS1taWRkbGUtZ3JleSB7XG4gIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaW50cm8tc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gIH1cbiAgLmludHJvLXNlY3Rpb25fX2xlZnQtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmludHJvLXNlY3Rpb25fX3JpZ2h0LWNvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNlY3Rpb24tbWFyZ2luKTtcbiAgfVxuICAuaW50cm8tc2VjdGlvbl9faDEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5pbnRyby1zZWN0aW9uX190ZXh0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc2VjdGlvbi1tYXJnaW4pIC8gMik7XG4gIH1cbiAgLmludHJvLXNlY3Rpb25fX2NhbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cbn1cbi5zZWN0aW9uLXdyYXBwZXItLTUwIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scyBwaWN0dXJlIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG4uYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMgLmNvbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wtLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wtLXZpZGVvIGlmcmFtZSB7XG4gIGhlaWdodDogMTAxJSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTIgLmNvbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMi5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tdHdvLWNvbC1zdHlsZS0yLTEgLmNvbDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMi5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tdHdvLWNvbC1zdHlsZS0yLTEgLmNvbDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzLS0yLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS10d28tY29sLXN0eWxlLTItMSAuY29sLS12aWRlbzpsYXN0LWNoaWxkIGlmcmFtZSB7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAxJSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMi5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tdHdvLWNvbC1zdHlsZS0yLTEgLmNvbC0taW1hZ2U6bGFzdC1jaGlsZCBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTIuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLXR3by1jb2wtc3R5bGUtMS0yIC5jb2w6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTIuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLXR3by1jb2wtc3R5bGUtMS0yIC5jb2w6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMi5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tdHdvLWNvbC1zdHlsZS0xLTIgLmNvbC0tdmlkZW86Zmlyc3QtY2hpbGQgaWZyYW1lIHtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbiAgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzLS0yLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS10d28tY29sLXN0eWxlLTEtMiAuY29sLS1pbWFnZTpmaXJzdC1jaGlsZCBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tMyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTMgLmNvbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTMgLmNvbC0tdmlkZW8gaWZyYW1lIHtcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMtLTQge1xuICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgfVxufVxuLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzLS00IC5jb2wge1xuICB3aWR0aDogNTAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tNCAuY29sIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzLS01IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scy0tNSAuY29sIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG59XG5cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTIuc2VjdGlvbi13cmFwcGVyLS1zcGFjZXIge1xuICBwYWRkaW5nLXRvcDogMi4wODMzMzMzMzMzJTtcbn1cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTIgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjA4MzMzMzMzMzMlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjA4MzMzMzMzMzMlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTIgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4wNDE2NjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjA0MTY2NjY2NjclO1xuICB9XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTIgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2w6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuc2VjdGlvbi13cmFwcGVyLS10ZW1wbGF0ZS0yIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scyAuY29sOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTMuc2VjdGlvbi13cmFwcGVyLS1zcGFjZXIge1xuICBwYWRkaW5nLXRvcDogNC4xNjY2NjY2NjY3JTtcbn1cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTMgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIHtcbiAgcGFkZGluZy1sZWZ0OiA0LjE2NjY2NjY2NjclO1xuICBwYWRkaW5nLXJpZ2h0OiA0LjE2NjY2NjY2NjclO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTMgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMi4wODMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjA4MzMzMzMzMzMlO1xuICB9XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTMgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2w6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAuc2VjdGlvbi13cmFwcGVyLS10ZW1wbGF0ZS0zIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scyAuY29sOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTQuc2VjdGlvbi13cmFwcGVyLS1zcGFjZXIge1xuICBwYWRkaW5nLXRvcDogOC4zMzMzMzMzMzMzJTtcbn1cbi5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTQgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIHtcbiAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTQgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wge1xuICAgIHBhZGRpbmctbGVmdDogNC4xNjY2NjY2NjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjE2NjY2NjY2NjclO1xuICB9XG4gIC5zZWN0aW9uLXdyYXBwZXItLXRlbXBsYXRlLTQgLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzIC5jb2wtLWltYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMDgzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMi4wODMzMzMzMzMzJTtcbiAgfVxuICAuc2VjdGlvbi13cmFwcGVyLS10ZW1wbGF0ZS00IC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tY29scyAuY29sOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLnNlY3Rpb24td3JhcHBlci0tdGVtcGxhdGUtNCAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLWNvbHMgLmNvbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGg1LFxuLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCBoNCxcbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgaDMsXG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGgyLFxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDUsXG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCBoNCxcbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIGgzLFxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDIge1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCBoNTpmaXJzdC1jaGlsZCxcbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgaDQ6Zmlyc3QtY2hpbGQsXG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGgzOmZpcnN0LWNoaWxkLFxuLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCBoMjpmaXJzdC1jaGlsZCxcbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIGg1OmZpcnN0LWNoaWxkLFxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDQ6Zmlyc3QtY2hpbGQsXG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCBoMzpmaXJzdC1jaGlsZCxcbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIGgyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCBmaWd1cmUge1xuICBtYXJnaW46IDA7XG59XG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgZmlndXJlIGZpZ2NhcHRpb24sIC5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgZmlndXJlIGZpZ2NhcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbn1cbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgZmlndXJlIGZpZ2NhcHRpb24gaSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbn1cbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgZmlndXJlIGZpZ2NhcHRpb24gYiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbn1cbi5zZWN0aW9uLXdyYXBwZXItLWJsYWNrIC5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgaDUsXG4uc2VjdGlvbi13cmFwcGVyLS1ibGFjayAucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGg0LFxuLnNlY3Rpb24td3JhcHBlci0tYmxhY2sgLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCBoMyxcbi5zZWN0aW9uLXdyYXBwZXItLWJsYWNrIC5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wgaDIge1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wge1xuICAgIHdpZHRoOiB2YXIoLS1jb2wtMyk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNvbC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hcnRpY2xlLXBhcmFncmFwaC1ibG9jay0tcGFyYWdyYXBoX2NvbHMgLnBhcmFncmFwaC1ibG9ja19fbGVmdGNvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuICB9XG4gIC5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wtLW51bWJlcl9maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuICB9XG59XG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIGg1LFxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDQsXG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCBoNCxcbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIGgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xufVxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaDQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCB7XG4gICAgd2lkdGg6IHZhcigtLWNvbC03KTtcbiAgfVxufVxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgPiBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5wYXJhZ3JhcGgtYmxvY2tfX3JpZ2h0Y29sIC5sYXJnZS1udW1iZXJzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCAubGFyZ2UtbnVtYmVycy13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcbiAgfVxufVxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgLmxhcmdlLW51bWJlci13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgLmxhcmdlLW51bWJlci13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wgLmxhcmdlLW51bWJlci13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wtLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xufVxuXG4ubGFyZ2UtbnVtYmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiY2hhcC1saWdodFwiO1xuICBmb250LXNpemU6IDIzMHB4O1xuICBsaW5lLWhlaWdodDogMjMwcHg7XG4gIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGxldHRlci1zcGFjaW5nOiAtMTdweDtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTIwcHg7XG59XG4uaXMtbWFjIC5sYXJnZS1udW1iZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IGF1dG87XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmxhcmdlLW51bWJlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLmJhY2tncm91bmQtcmVkIC5sYXJnZS1udW1iZXIsIC5zZWN0aW9uLXdyYXBwZXItLXJlZCAubGFyZ2UtbnVtYmVyIHtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbn1cbi5sYXJnZS1udW1iZXItLW51bWJlciB7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiBsaW5pbmctbnVtcztcbn1cbi5sYXJnZS1udW1iZXItLXBlcmNlbnQge1xuICBmb250LXNpemU6IDEyMHB4O1xuICBsaW5lLWhlaWdodDogMTUzcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4uaXMtbWFjIC5sYXJnZS1udW1iZXItLXBlcmNlbnQge1xuICBsaW5lLWhlaWdodDogMTc2cHg7XG59XG4ubGFyZ2UtbnVtYmVyX19jYXB0aW9uLCAubGFyZ2UtbnVtYmVyX19jYXB0aW9uIHAge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG59XG4ubGFyZ2UtbnVtYmVyX19jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC00NXB4O1xufVxuLmxhcmdlLW51bWJlcl9fY2FwdGlvbiBpIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xufVxuLmxhcmdlLW51bWJlcl9fY2FwdGlvbiBiIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sYXJnZS1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogMTE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDExNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtN3B4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5sYXJnZS1udW1iZXItLXBlcmNlbnQge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogNzRweDtcbiAgfVxuICAuaXMtbWFjIC5sYXJnZS1udW1iZXItLXBlcmNlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiA4OHB4O1xuICB9XG4gIC5sYXJnZS1udW1iZXJfX2NhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgfVxuICAuaXMtbWFjIC5sYXJnZS1udW1iZXJfX2NhcHRpb24ge1xuICAgIHRvcDogLTI0cHg7XG4gIH1cbiAgLmxhcmdlLW51bWJlcl9fY2FwdGlvbiBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGFyZ2UtbnVtYmVyLXdyYXBwZXI6Zmlyc3QtY2hpbGQgLmxhcmdlLW51bWJlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAubGFyZ2UtbnVtYmVyLXdyYXBwZXI6Zmlyc3QtY2hpbGQgLmxhcmdlLW51bWJlcl9fY2FwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzQ5cHgpIHtcbiAgLmxhcmdlLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA4NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDJweDtcbiAgfVxufVxuXG4uYXJ0aWNsZS1tYWluLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZDQ5MjU7XG4gIHBhZGRpbmc6IDIwcHggMDtcbn1cblxuLmludHJvLXNlY3Rpb24tY29udGFpbmVyLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZDQ5MjUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLnRhYmxlLXBsYWluX19jZWxsIHtcbiAgcGFkZGluZzogMHB4IDMwcHggMzVweCAwO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGUtcGxhaW5fX2NlbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gIH1cbn1cblxuLnRhYmxlLXBsYWluLS1yb3ctc2VwYXJhdG9ycyAudGFibGUtcGxhaW5fX2NlbGwge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYmxhY2spO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAudGFibGUtcGxhaW4tLXJvdy1zZXBhcmF0b3JzIC50YWJsZS1wbGFpbl9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG4uYmFja2dyb3VuZC1ibGFjayAudGFibGUtcGxhaW4tLXJvdy1zZXBhcmF0b3JzIC50YWJsZS1wbGFpbl9fY2VsbCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZS1wbGFpbi0tcm93LXNlcGFyYXRvcnMgLnRhYmxlLXBsYWluX19jb2w6bnRoLWxhc3QtY2hpbGQoLW4rMikgLnRhYmxlLXBsYWluX19jZWxsOmxhc3QtY2hpbGQoKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG4uYXJ0aWNsZS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYXJ0aWNsZS1pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzhzIGVhc2Utb3V0IDAuMXMsIHRyYW5zZm9ybSAzcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwLjFzO1xufVxuLmFydGljbGUtaW1hZ2UgaW1nLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuLmFydGljbGUtaW1hZ2UgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmFydGljbGUtaW1hZ2UgZmlndXJlIGZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICB3aWR0aDogNjYlO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFydGljbGUtaW1hZ2UgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMC41cmVtIDIwcHggMDtcbiAgfVxufVxuXG4uYXJ0aWNsZS1pbWFnZS5hcnRpY2xlLWltYWdlLS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xufVxuLmFydGljbGUtaW1hZ2UuYXJ0aWNsZS1pbWFnZS0tbWFyZ2luLWJvdHRvbSAuYmFja2dyb3VuZDpub3QoLmJhY2tncm91bmQtd2hpdGUpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYXJ0aWNsZS1pbWFnZS5hcnRpY2xlLWltYWdlLS1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiAzMHB4O1xuICB6LWluZGV4OiAzMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmFydGljbGUtaW1hZ2UtY2FsbG91dC0tYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDMwcHg7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAyNHB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG59XG5cbi5hcnRpY2xlLWltYWdlLS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKSAvIDIgKyB2YXIoLS1zaXRlLXdpZHRoKSAvIDEyKTtcbn1cbi5hcnRpY2xlLWltYWdlLS1sZWZ0IC5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICBsZWZ0OiBjYWxjKCgxMDB2dyAtICgxMDB2dyAtIDEwMCUpIC0gdmFyKC0tc2l0ZS13aWR0aCkpIC8gMiArIHZhcigtLWNvbC0xKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyICsgdmFyKC0tc2l0ZS13aWR0aCkgLyAxMiArIDMwcHgpO1xufVxuXG4uYXJ0aWNsZS1pbWFnZS0tcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyICsgdmFyKC0tc2l0ZS13aWR0aCkgLyAxMik7XG59XG4uYXJ0aWNsZS1pbWFnZS0tcmlnaHQgLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyICsgdmFyKC0tY29sLTEpICsgMzBweCk7XG59XG5cbi5hcnRpY2xlLWltYWdlLS1jZW50ZXIge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKSAvIDIpO1xufVxuLmFydGljbGUtaW1hZ2UtLWNlbnRlciAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtICgxMDB2dyAtIDEwMCUpIC0gdmFyKC0tc2l0ZS13aWR0aCkpIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyICsgMzBweCk7XG59XG5cbi5hcnRpY2xlLWltYWdlLS10ZXh0LWNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29sLTMpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG59XG4uYXJ0aWNsZS1pbWFnZS0tdGV4dC1jb2x1bW4gLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkgLyAyICsgdmFyKC0tY29sLTMpICsgMzBweCk7XG4gIHJpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jb2wtMSkpO1xufVxuXG4uYXJ0aWNsZS1pbWFnZS0tdGV4dC1jb2x1bW4td2lkZSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29sLTEpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG59XG4uYXJ0aWNsZS1pbWFnZS0tdGV4dC1jb2x1bW4td2lkZSAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgbGVmdDogY2FsYygoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKSAvIDIgKyB2YXIoLS1jb2wtMSkgKyAzMHB4KTtcbiAgcmlnaHQ6IGNhbGMoMzBweCArIHZhcigtLWNvbC0xKSk7XG59XG5cbi5hcnRpY2xlLWltYWdlLS1zbGltLW1hcmdpbiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cbi5hcnRpY2xlLWltYWdlLS1zbGltLW1hcmdpbiAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgbGVmdDogNjBweDtcbn1cblxuLmFydGljbGUtaW1hZ2UtLW1hcmdpbiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29sLTEpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG59XG4uYXJ0aWNsZS1pbWFnZS0tbWFyZ2luIC5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICBsZWZ0OiBjYWxjKHZhcigtLWNvbC0xKSArIDMwcHgpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFydGljbGUtaW1hZ2UgLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gICAgbGVmdDogY2FsYygoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKSAvIDIgKyAyMHB4KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuICB9XG59XG4uYXJ0aWNsZS1zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFydGljbGUtc2xpZGUuYWx0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLmFydGljbGUtc2xpZGVfX3RleHQge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tY29sLTEpO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB3aWR0aDogdmFyKC0tY29sLTMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYXJ0aWNsZS1zbGlkZV9fdGV4dCBoMiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbn1cbi5hcnRpY2xlLXNsaWRlX190ZXh0IHAge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG59XG4uYXJ0aWNsZS1zbGlkZV9fcC0tYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYmFja2dyb3VuZC1jYXBwdWNjaW5vIC5hcnRpY2xlLXNsaWRlX19wLS1ib3R0b20gYSB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG59XG4uYXJ0aWNsZS1zbGlkZV9faW1hZ2Uge1xuICB3aWR0aDogdmFyKC0tY29sLTgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZy1ib3R0b206IDM3LjUlO1xufVxuLmFydGljbGUtc2xpZGVfX2ltYWdlLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYXJ0aWNsZS1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYXJ0aWNsZS1zbGlkZSB7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYXJ0aWNsZS1zbGlkZS5hbHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmFydGljbGUtc2xpZGVfX3RleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICB9XG4gIC5hcnRpY2xlLXNsaWRlX19wLS1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5hcnRpY2xlLXNsaWRlX19pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAtMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmF5KTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hcnRpY2xlLXNsaWRlX19pbWFnZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuYXJ0aWNsZS1zbGlkZV9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi52aW1lby1wbGF5ZXIgPiBkaXYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50LWdyaWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1leHRlbnNpb24tY29udGVudC1ncmlkKTtcbn1cblxuLndyYXBwZXItZ3JpZC1maWx0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAtMXB4O1xuICB6LWluZGV4OiAzMDA7XG59XG5cbi5ncmlkLWZpbHRlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmdyaWQtZmlsdGVyX19saW5lLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMycHggMTJyZW0gMzJweCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY2KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5ncmlkLWZpbHRlcl9fbGluZS1jb250YWluZXIgYSB7XG4gIHBhZGRpbmctbGVmdDogMGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmdyaWQtZmlsdGVyX19saW5lLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuLmdyaWQtZmlsdGVyX19saW5lLWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5ncmlkLWZpbHRlcl9fbGluZS1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5ncmlkLWZpbHRlcl9fbGluZS1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cbn1cblxuLmdyaWQtZmlsdGVyLWNvbnRhaW5lci5zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ncmlkLWZpbHRlcl9fc2VsZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ncmlkLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDNweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG59XG4ucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXItLWhlYWRpbmcge1xuICBoZWlnaHQ6IDEwNnB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZzogNDBweCAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5yZWxhdGVkLWFydGljbGVzLWNvbnRhaW5lci0taGVhZGluZyB7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMS4yNXJlbSAxLjEyNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnNlY3Rpb24td3JhcHBlci0tcmVsYXRlZC1hcnRpY2xlcy1oZWFkZXIgLnJlbGF0ZWQtYXJ0aWNsZXMtY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWNvbC0xKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXM6bm90KC5kb250LWhpZGUtbGFzdC1hcnRpY2xlKSAuZmxvdy1ibG9jazpudGgtY2hpbGQoNCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXMgLmZsb3ctYmxvY2suYWN0aXZlOm50aC1jaGlsZCg3biszKSAuZmxvdy1ibG9jay1iZy0tc3F1YXJlLFxuLnNlY3Rpb24td3JhcHBlci0tcmVsYXRlZC1hcnRpY2xlcyAuZmxvdy1ibG9jayAuZmxvdy1ibG9jay1iZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXMgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDQpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLmZsb3ctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZsb3ctYmxvY2tfX3ZpZGVvLWNvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtc2l6ZS10d28tY29sIC5mbG93LWJsb2NrIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbC1zaXplLXR3by1jb2wgLmZsb3ctYmxvY2suYWN0aXZlIC5kdW1teSB7XG4gICAgbWFyZ2luLXRvcDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5jb2wtc2l6ZS10aHJlZS1jb2wgLmZsb3ctYmxvY2sge1xuICAgIHdpZHRoOiAzMy4zMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbC1zaXplLXRocmVlLWNvbCAuZmxvdy1ibG9jay5hY3RpdmUgLmR1bW15IHtcbiAgICBtYXJnaW4tdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5mbG93LWJsb2NrLWJnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM4cyBlYXNlLW91dCAwLjFzLCB0cmFuc2Zvcm0gM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgMC4xcztcbn1cblxuLmZsb3ctYmxvY2stYmctLXJlY3RhbmdsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mbG93LWJsb2NrLWgyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA1MDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLW91dCAwLjVzLCB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgMC41cztcbn1cbi5pbWFnZS1sYXp5bG9hZGVkIC5mbG93LWJsb2NrLWgyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZsb3ctYmxvY2stYmcubGF6eWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5mbG93LWJsb2NrLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5mbG93LWJsb2NrLWNhdGVnb3J5LmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmZsb3ctYmxvY2stY2F0ZWdvcnlfX3BhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG4uZmxvdy1ibG9jay1jYXRlZ29yeV9fcGFnZS5hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mbG93LWJsb2NrLWgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xufVxuLnNoYWRvdy0xIC5mbG93LWJsb2NrLWgyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjEpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zaGFkb3ctMiAuZmxvdy1ibG9jay1oMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc2hhZG93LTMgLmZsb3ctYmxvY2staDIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuMyksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnNoYWRvdy00IC5mbG93LWJsb2NrLWgyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjQpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zaGFkb3ctNSAuZmxvdy1ibG9jay1oMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uZmxvdy1ibG9jay0tYm90dG9tLnNoYWRvdy0xIC5mbG93LWJsb2NrLWgyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjEpKTtcbn1cbi5mbG93LWJsb2NrLS1ib3R0b20uc2hhZG93LTIgLmZsb3ctYmxvY2staDIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuLmZsb3ctYmxvY2stLWJvdHRvbS5zaGFkb3ctMyAuZmxvdy1ibG9jay1oMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG59XG4uZmxvdy1ibG9jay0tYm90dG9tLnNoYWRvdy00IC5mbG93LWJsb2NrLWgyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjQpKTtcbn1cbi5mbG93LWJsb2NrLS1ib3R0b20uc2hhZG93LTUgLmZsb3ctYmxvY2staDIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xufVxuLmZsb3ctYmxvY2stLW51bGwgLmZsb3ctYmxvY2staDIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uZmxvdy1ibG9jay0tYm90dG9tIC5mbG93LWJsb2NrLWgyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uZmxvdy1ibG9jay5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb24tZGVsYXk6IG9wYWNpdHkgMC42cztcbiAgd2lkdGg6IDMzLjMzJTtcbn1cbi5mbG93LWJsb2NrLmFjdGl2ZSAuZHVtbXkge1xuICBtYXJnaW4tdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IDEwMCU7XG59XG4uZmxvdy1ibG9jay5hY3RpdmUge1xuICB3aWR0aDogMTAwJTtcbn1cbi5mbG93LWJsb2NrLmFjdGl2ZSAuZmxvdy1ibG9ja19fdmlkZW8tY29udGFpbmVyID4gZGl2IHtcbiAgcGFkZGluZzogMTAwJSAwIDAgMCAhaW1wb3J0YW50O1xufVxuLmZsb3ctYmxvY2suYWN0aXZlIC5mbG93LWJsb2NrX192aWRlby1jb250YWluZXIgPiBkaXYgPiBpZnJhbWUge1xuICB3aWR0aDogMTgwJSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsb3ctYmxvY2suYWN0aXZlIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5mbG93LWJsb2NrLmFjdGl2ZTpudGgtY2hpbGQoM24rMSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5mbG93LWJsb2NrLmFjdGl2ZTpudGgtY2hpbGQoM24rMSkgLmZsb3ctYmxvY2stYmctLXNxdWFyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZmxvdy1ibG9jay5hY3RpdmU6bnRoLWNoaWxkKDNuKzEpIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5mbG93LWJsb2NrLmFjdGl2ZTpudGgtY2hpbGQoM24rMSkgLmR1bW15IHtcbiAgICBtYXJnaW4tdG9wOiA1MCU7XG4gIH1cbn1cblxuLmxvYWQtbW9yZS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2FkLW1vcmUtYmFja2dyb3VuZCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5sb2FkLW1vcmUtY29udGFpbmVyOmhvdmVyIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgfVxufVxuXG4ubG9hZC1tb3JlLWJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZ3JpZC1maWx0ZXJfX2xpbmUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuZ3JpZC1maWx0ZXJfX3NlbGVjdC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMzAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMzQ5cHgpIHtcbiAgLmdyaWQtZmlsdGVyX19zZWxlY3QtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIGhlaWdodDogNzBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQtZmlsdGVyX19zZWxlY3QtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ncmlkLWZpbHRlcl9fc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmdyaWQtZmlsdGVyX19zZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDM0OXB4KSB7XG4gIC5ncmlkLWZpbHRlcl9fc2VsZWN0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmdyaWQtZmlsdGVyX190ZXh0X19wcmVmaXgge1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gIH1cbiAgLndyYXBwZXIuYmx1ciAuZ3JpZC1maWx0ZXJfX3RleHQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5ncmlkLWZpbHRlcl9fb3B0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZmxvdy1ibG9jayB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG4gIC5mbG93LWJsb2NrLWgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cbiAgLmFydGljbGUgLmZsb3ctY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYXJ0aWNsZSAuZmxvdy1ibG9jay0tMS0zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LWdyb3c6IDM7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gICAgYm9yZGVyOiAzMHB4IHNvbGlkIGJsYWNrO1xuICB9XG4gIC5hcnRpY2xlIC5mbG93LWJsb2NrLWgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICB9XG4gIC5yZWxhdGVkLWFydGljbGVzLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXMtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXMtaGVhZGVyIC5yZWxhdGVkLWFydGljbGVzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgfVxuICAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICB9XG59XG4uaGlkZGVuX3RtcF9zZWxlY3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZsb3ctYmxvY2staDIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG4gIC5sb2FkLW1vcmUtYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cbn1cbi5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jayxcbi5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcgLmZsb3ctYmxvY2ssXG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nIC5mbG93LWJsb2NrIC5mbG93LWJsb2NrLWJnLS1zcXVhcmUsXG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmZsb3ctYmxvY2stYmctLXNxdWFyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nIC5mbG93LWJsb2NrIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUsXG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmZsb3ctYmxvY2stYmctLXJlY3RhbmdsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcgLmZsb3ctYmxvY2sgLmR1bW15LFxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIC5kdW1teSB7XG4gICAgbWFyZ2luLXRvcDogMTAwJTtcbiAgfVxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jayxcbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jayAuZmxvdy1ibG9jay1iZy0tc3F1YXJlLFxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmZsb3ctYmxvY2stYmctLXNxdWFyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jayAuZmxvdy1ibG9jay1iZy0tcmVjdGFuZ2xlLFxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmZsb3ctYmxvY2stYmctLXJlY3RhbmdsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2sgLmR1bW15LFxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnk6bm90KC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nKSAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmR1bW15IHtcbiAgICBtYXJnaW4tdG9wOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcgLmZsb3ctYmxvY2sgLmZsb3ctYmxvY2stYmctLXNxdWFyZSxcbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nIC5mbG93LWJsb2NrOm50aC1jaGlsZCgzbisxKSAuZmxvdy1ibG9jay1iZy0tc3F1YXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jayAuZmxvdy1ibG9jay1iZy0tcmVjdGFuZ2xlLFxuICAuY29udGVudC1ncmlkLS1waGMgLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jayAuZHVtbXksXG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkgLmR1bW15IHtcbiAgICBtYXJnaW4tdG9wOiA1MCU7XG4gIH1cbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2sgLmZsb3ctYmxvY2stYmctLXNxdWFyZSxcbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIC5mbG93LWJsb2NrLWJnLS1zcXVhcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeTpub3QoLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcpIC5mbG93LWJsb2NrIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUsXG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeTpub3QoLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcpIC5mbG93LWJsb2NrOm50aC1jaGlsZCgzbisxKSAuZmxvdy1ibG9jay1iZy0tcmVjdGFuZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb250ZW50LWdyaWQtLXBoYyAuZmxvdy1ibG9jay1jYXRlZ29yeTpub3QoLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcpIC5mbG93LWJsb2NrIC5kdW1teSxcbiAgLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIC5kdW1teSB7XG4gICAgbWFyZ2luLXRvcDogMTAwJTtcbiAgfVxufVxuLmNvbnRlbnQtZ3JpZC0tcGhjIC5mbG93LWJsb2NrLWgyIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbn1cblxuLndyYXBwZXItaGVyby1zbGlkZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1leHRlbnNpb24taG9tZS1zbGlkZXMpO1xufVxuXG4uaGVyby1zbGlkZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xufVxuLmhlcm8tc2xpZGVzIC5wbHlyX19jb250cm9scyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaGVyby1zbGlkZXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaGVybyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKSAqIDAuNTYyNSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm8ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTguNSU7XG4gIH1cbiAgLmhlcm86YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgd2lkdGg6IDBweDtcbiAgfVxufVxuLmhlcm8tLXZpZGVvIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5hID4gLmhlcm8tLXZpZGVvIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm8tLXZpZGVvOmJlZm9yZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi5oZXJvX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5oZXJvX19wcm9maWxlLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTIwO1xuICBwYWRkaW5nOiAyLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1waGMtd2hpdGUtYWYpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm9fX3Byb2ZpbGUtbGluayB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgfVxufVxuXG4uaGVyby1hcnRpY2xlX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyLjVyZW07XG4gIHJpZ2h0OiAyLjVyZW07XG4gIGJvdHRvbTogMzBweDtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLWFydGljbGVfX2NhcHRpb24ge1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiB2YXIoLS1jb2wtMSk7XG4gICAgcmlnaHQ6IHZhcigtLWNvbC0yKTtcbiAgfVxufVxuLmhlcm8tYXJ0aWNsZV9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmhlcm8tdmlkZW9fX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDIuNXJlbTtcbiAgcmlnaHQ6IDIuNXJlbTtcbiAgYm90dG9tOiAyMHB4O1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhlcm8tdmlkZW9fX2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gIH1cbiAgLmhlcm8tdmlkZW9fX2NhcHRpb24gYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVyby12aWRlb19fY2FwdGlvbiB7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gICAgbGVmdDogdmFyKC0tY29sLTEpO1xuICAgIHJpZ2h0OiB2YXIoLS1jb2wtMSk7XG4gIH1cbn1cblxuLnRhZ2xpbmUge1xuICBsZWZ0OiB2YXIoLS1jb2wtMSk7XG4gIHJpZ2h0OiB2YXIoLS1jb2wtMSk7XG59XG5cbi5jZW50ZXItdGFnbGluZSAudGFnbGluZSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAyLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNlbnRlci10YWdsaW5lIC50YWdsaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB3aWR0aDogdmFyKC0tY29sLTEwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmJvdHRvbS10YWdsaW5lIC50YWdsaW5lIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDIuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYm90dG9tLXRhZ2xpbmUgLnRhZ2xpbmUge1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiB2YXIoLS1jb2wtMSk7XG4gIH1cbn1cblxuLnRvcC10YWdsaW5lIC50YWdsaW5lIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDIuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLXRhZ2xpbmUgLnRhZ2xpbmUge1xuICAgIHRvcDogMTQ1cHg7XG4gICAgbGVmdDogdmFyKC0tY29sLTEpO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMHB4O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zOHMgZWFzZS1vdXQgMC4xcywgdHJhbnNmb3JtIDNzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpIDAuMXM7XG59XG4uaGVyby1zbGlkZS5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxMTA7XG59XG4uaGVyby1zbGlkZV9faW1nIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM4cyBlYXNlLW91dCAwLjFzLCB0cmFuc2Zvcm0gM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgMC4xcztcbn1cbi5oZXJvLXNsaWRlX19pbWcubGF6eWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG4uaGVyby1zbGlkZV9faW1nLS1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVyby1zbGlkZV9faW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZXJvLXNsaWRlX19pbWctLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGVyby1zbGlkZV9faW1nLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaGVyby0taGFzdGh1bWJuYWlscyAuYm90dG9tLXRhZ2xpbmUgLnRhZ2xpbmUge1xuICBib3R0b206IDQ0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm8tLWhhc3RodW1ibmFpbHMgLmJvdHRvbS10YWdsaW5lIC50YWdsaW5lIHtcbiAgICBib3R0b206IDQ1cHg7XG4gICAgbGVmdDogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm8tLWhhc3RodW1ibmFpbHMgLmJvdHRvbS10YWdsaW5lIC50YWdsaW5lIHtcbiAgICBib3R0b206IDgwcHg7XG4gICAgbGVmdDogdmFyKC0tY29sLTEpO1xuICB9XG59XG5cbi5oZXJvLS1oYXN0aHVtYm5haWxzIC50b3AtdGFnbGluZSAudGFnbGluZSB7XG4gIGJvdHRvbTogNTBweDtcbn1cblxuLmhlcm8tLWhhc3RodW1ibmFpbHMgLmNlbnRlci10YWdsaW5lIC50YWdsaW5lIHtcbiAgYm90dG9tOiA1MHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZXJvLS1oYXN0aHVtYm5haWxzIC5jZW50ZXItdGFnbGluZSAudGFnbGluZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGJvdHRvbTogdG9wO1xuICB9XG59XG5cbi5oZXJvLXNsaWRlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxOTk7XG59XG4uaGVyby1zbGlkZS1saW5rIC50YWdsaW5lOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbn1cbi5oZXJvLXNsaWRlLWxpbmsgLnRhZ2xpbmU6aG92ZXI6OmFmdGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi50YWdsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDFzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFnbGluZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgfVxuICAudGFnbGluZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODl2aDtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC50YWdsaW5lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGVmdDogMi41cmVtO1xuICB9XG59XG5cbi5zbGlkZXMtdGh1bWJuYWlscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTUwO1xuICBib3R0b206IDQ0cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbGVmdDogMzMuMzMlO1xuICByaWdodDogMzMuMzMlO1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb2wtNCk7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zbGlkZXMtdGh1bWJuYWlsczpob3ZlciAuc2xpZGVzLXRodW1ibmFpbF9faW1nIHtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLmhlcm8tLWhhc3RodW1ibmFpbHMgLnNsaWRlcy10aHVtYm5haWxzIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNsaWRlcy10aHVtYm5haWwge1xuICB3aWR0aDogY2FsYygoKHZhcigtLWNvbC00KSkgLTE2cHgpIC8gMyk7XG4gIGhlaWdodDogYXV0bztcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwIDRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDE7XG59XG4uc2xpZGVzLXRodW1ibmFpbDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNsaWRlcy10aHVtYm5haWw6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi5zbGlkZXMtdGh1bWJuYWlsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDBweDtcbn1cbi5zbGlkZXMtdGh1bWJuYWlsX19pbWcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgb3BhY2l0eTogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2xpZGVzLXRodW1ibmFpbF9faW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uc2xpZGVzLXRodW1ibmFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zbGlkZXMtdGh1bWJuYWlsLmFjdGl2ZTphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB3aWR0aCA0LjVzIGxpbmVhcjtcbn1cbi5zbGlkZXMtdGh1bWJuYWlsLTEgaW1nIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uc2xpZGVzLXRodW1ibmFpbC0yIGltZyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDdzO1xufVxuLnNsaWRlcy10aHVtYm5haWwtMyBpbWcge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zbGlkZXMtdGh1bWJuYWlscyB7XG4gICAgbGVmdDogMi41cmVtO1xuICAgIHJpZ2h0OiAyLjVyZW07XG4gICAgYm90dG9tOiAyLjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyICogMi41cmVtKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2xpZGVzLXRodW1ibmFpbF9faW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKlxuICBQbHVnaW4gbWFya3VwIGZvciBHRFBSIHBvcHVwXG5cblxuPGRpdiBjbGFzcz1cImNsaS1iYXItY29udGFpbmVyIGNsaS1zdHlsZS12MlwiPlxuPGRpdiBjbGFzcz1cImNsaS1iYXItaGVhZGVyXCI+V2UgdXNlIGNvb2tpZXM8L2Rpdj5cbjxkaXYgY2xhc3M9XCJjbGktYmFyLW1lc3NhZ2VcIj5XZSB1c2UgY29va2llcyB0byBvZmZlciB5b3UgYSBiZXR0ZXIgZXhwZXJpZW5jZSBhbmQgYW5hbHl6ZSBzaXRlIHRyYWZmaWMuIEZvciBtb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uLCB2aWV3IG91ciA8YSBocmVmPVwiL3ByaXZhY3ktcG9saWN5LXdlYnNpdGUvXCIgY2xhc3M9XCJhcnJvdy1saW5rXCI+UHJpdmFjeSBwb2xpY3k8L2E+PC9kaXY+XG48ZGl2IGNsYXNzPVwiY2xpLWJhci1idXR0b25zXCI+XG5bY29va2llX3JlamVjdF1bY29va2llX2J1dHRvbl1cbjwvZGl2PlxuPC9kaXY+XG4qL1xuI2Nvb2tpZS1sYXctaW5mby1iYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjaykgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiB2YXIoLS1zZWN0aW9uLW1hcmdpbikgIWltcG9ydGFudDtcbiAgYm90dG9tOiB2YXIoLS1zZWN0aW9uLW1hcmdpbikgIWltcG9ydGFudDtcbiAgbGVmdDogdmFyKC0tc2VjdGlvbi1tYXJnaW4pICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jY29va2llLWxhdy1pbmZvLWJhciBiciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jY29va2llLWxhdy1pbmZvLWJhciAuY2xpLWJhci1oZWFkZXIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4jY29va2llLWxhdy1pbmZvLWJhciAuY2xpLWJhci1tZXNzYWdlIHtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG4jY29va2llLWxhdy1pbmZvLWJhciAuY2xpLWJhci1tZXNzYWdlIGEge1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAjY29va2llLWxhdy1pbmZvLWJhciAuY2xpLWJhci1tZXNzYWdlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuI2Nvb2tpZS1sYXctaW5mby1iYXIgLmNsaV9hY3Rpb25fYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgbWFyZ2luOiAyNHB4IDAgMCAhaW1wb3J0YW50O1xuICB3aWR0aDogNDYlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xufVxuI2Nvb2tpZS1sYXctaW5mby1iYXIgLmNsaV9hY3Rpb25fYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IDglICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgI2Nvb2tpZS1sYXctaW5mby1iYXIge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gICNjb29raWUtbGF3LWluZm8tYmFyIC5jbGktYmFyLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbiAgI2Nvb2tpZS1sYXctaW5mby1iYXIgLmNsaV9hY3Rpb25fYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjY29va2llLWxhdy1pbmZvLWJhciAuY2xpX2FjdGlvbl9idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRleHQtcGhjLXBhZ2VmaWd1cmVzIHtcbiAgZm9udC1mYW1pbHk6IFwiU3Vpc3NlIEludGxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiBjYWxjKDggKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogY2FsYyg5Ljg3NSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic2FsdFwiIDE7XG59XG4udGV4dC1waGMtcGFnZWZpZ3VyZXMgcCxcbi50ZXh0LXBoYy1wYWdlZmlndXJlcyBsaSxcbi50ZXh0LXBoYy1wYWdlZmlndXJlcyBibG9ja3F1b3RlIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG59XG5cbi50ZXh0LXBoYy1wYWdlZmlndXJlc3N1cHBvcnQge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDYuMTI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzYWx0XCIgMTtcbn1cbi50ZXh0LXBoYy1wYWdlZmlndXJlc3N1cHBvcnQgcCxcbi50ZXh0LXBoYy1wYWdlZmlndXJlc3N1cHBvcnQgbGksXG4udGV4dC1waGMtcGFnZWZpZ3VyZXNzdXBwb3J0IGJsb2NrcXVvdGUge1xuICBmb250OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuLnRleHQtcGhjLXRpdGxlLXJlZ3VsYXIge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoNCAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDQuMTI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzYWx0XCIgMTtcbn1cbi50ZXh0LXBoYy10aXRsZS1yZWd1bGFyIHAsXG4udGV4dC1waGMtdGl0bGUtcmVndWxhciBsaSxcbi50ZXh0LXBoYy10aXRsZS1yZWd1bGFyIGJsb2NrcXVvdGUge1xuICBmb250OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuLnRleHQtcGhjLXRpdGxlLXByb2ZpbGUge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoMi42MjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogY2FsYygyLjc1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzYWx0XCIgMTtcbn1cbi50ZXh0LXBoYy10aXRsZS1wcm9maWxlIHAsXG4udGV4dC1waGMtdGl0bGUtcHJvZmlsZSBsaSxcbi50ZXh0LXBoYy10aXRsZS1wcm9maWxlIGJsb2NrcXVvdGUge1xuICBmb250OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuLnRleHQtcGhjLWZvb3RlcmxpbmthZ2Uge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoMS43NSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDIuMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xufVxuLnRleHQtcGhjLWZvb3RlcmxpbmthZ2UgcCxcbi50ZXh0LXBoYy1mb290ZXJsaW5rYWdlIGxpLFxuLnRleHQtcGhjLWZvb3RlcmxpbmthZ2UgYmxvY2txdW90ZSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG4udGV4dC1waGMtc3RhbmRhcmQge1xuICBmb250LWZhbWlseTogXCJTdWlzc2UgSW50bFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoMS4zNzUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xufVxuLnRleHQtcGhjLXN0YW5kYXJkIHAsXG4udGV4dC1waGMtc3RhbmRhcmQgbGksXG4udGV4dC1waGMtc3RhbmRhcmQgYmxvY2txdW90ZSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG4udGV4dC1waGMtc21hbGx0eXBlIHtcbiAgZm9udC1mYW1pbHk6IFwiU3Vpc3NlIEludGxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiBjYWxjKDEgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjEyNSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic2FsdFwiIDE7XG59XG4udGV4dC1waGMtc21hbGx0eXBlIHAsXG4udGV4dC1waGMtc21hbGx0eXBlIGxpLFxuLnRleHQtcGhjLXNtYWxsdHlwZSBibG9ja3F1b3RlIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG59XG5cbi50ZXh0LXBoYy1zdGFuZGFyZC1qcCB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2FucyBKUFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IGNhbGMoMS4xMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogY2FsYygxLjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDRlbTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xufVxuLnRleHQtcGhjLXN0YW5kYXJkLWpwIHAsXG4udGV4dC1waGMtc3RhbmRhcmQtanAgbGksXG4udGV4dC1waGMtc3RhbmRhcmQtanAgYmxvY2txdW90ZSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG4udGV4dC1waGMtc21hbGx0eXBlLWpwIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zIEpQXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygwLjg3NSAqIHZhcigtLXBoYy1yb290KSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDEuMTI1ICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzYWx0XCIgMTtcbn1cbi50ZXh0LXBoYy1zbWFsbHR5cGUtanAgcCxcbi50ZXh0LXBoYy1zbWFsbHR5cGUtanAgbGksXG4udGV4dC1waGMtc21hbGx0eXBlLWpwIGJsb2NrcXVvdGUge1xuICBmb250OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbn1cblxuLnRleHQtcGhjLXNtYWxsYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiBcIlN1aXNzZSBJbnRsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2FsYygxICogdmFyKC0tcGhjLXJvb3QpKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMS4xMjUgKiB2YXIoLS1waGMtcm9vdCkpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNhbHRcIiAxO1xufVxuLnRleHQtcGhjLXNtYWxsYm9sZCBwLFxuLnRleHQtcGhjLXNtYWxsYm9sZCBsaSxcbi50ZXh0LXBoYy1zbWFsbGJvbGQgYmxvY2txdW90ZSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufSIsIi8vIDQwMCBhZGRlZCBmb3IgdGhlIHJlZGVzaWduOiB0aGUgSmFwYW5lc2UgY29sdW1uJ3MgU3RhbmRhcmQgSlAgdG9rZW4gaXMgUmVndWxhci5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDMwMDs0MDA7NTAwOzcwMCZkaXNwbGF5PXN3YXAnKTtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSW50ZXItTGlnaHQud29mZjI/dj0zLjE5XCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL0ludGVyLUxpZ2h0LndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1MaWdodEl0YWxpYy53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgdXJsKFwiLi4vZm9udHMvSW50ZXItTGlnaHRJdGFsaWMud29mZj92PTMuMTlcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFyLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFyLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6ICBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFySXRhbGljLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIuLi9mb250cy9JbnRlci1SZWd1bGFySXRhbGljLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSW50ZXItTWVkaXVtLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIuLi9mb250cy9JbnRlci1NZWRpdW0ud29mZj92PTMuMTlcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLU1lZGl1bUl0YWxpYy53b2ZmMj92PTMuMTlcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgdXJsKFwiLi4vZm9udHMvSW50ZXItTWVkaXVtSXRhbGljLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0ludGVyLVNlbWlCb2xkLndvZmYyP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIuLi9mb250cy9JbnRlci1TZW1pQm9sZC53b2ZmP3Y9My4xOVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSW50ZXItU2VtaUJvbGRJdGFsaWMud29mZjI/dj0zLjE5XCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL0ludGVyLVNlbWlCb2xkSXRhbGljLndvZmY/dj0zLjE5XCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cblxuLy8gU3Vpc3NlIEludGwsIGxhaWQgb3V0IHRvIG1pcnJvciBJbnRlciBhYm92ZSB3ZWlnaHQgZm9yIHdlaWdodC4gVGhlIGxpY2Vuc2VkXG4vLyBmaWxlcyBjYXJyeSBubyB2ZXJzaW9uLCBzbyB0aGVyZSBpcyBubyBjYWNoZS1idXN0aW5nIHF1ZXJ5IG9uIHRoZXNlLlxuLy9cbi8vIE9uZSBnYXAgYWdhaW5zdCBJbnRlcjogdGhlIGxpY2VuY2UgcGFjayBoYXMgbm8gUmVndWxhciBJdGFsaWMsIHNvIGl0YWxpYyBhdFxuLy8gd2VpZ2h0IDQwMCBmYWxscyBiYWNrIHRvIGEgYnJvd3Nlci1zeW50aGVzaXNlZCBvYmxpcXVlLiBFdmVyeSBvdGhlciB3ZWlnaHRcbi8vIGhhcyBhIHJlYWwgaXRhbGljLiBXb3J0aCBhc2tpbmcgdGhlIGZvdW5kcnkgZm9yIHRoYXQgY3V0IGlmIGJvZHkgY29weSBlbmRzIHVwXG4vLyBpbiBTdWlzc2UgYW5kIHVzZXMgZW1waGFzaXMuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1N1aXNzZSBJbnRsJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1N1aXNzZSBJbnRsJztcbiAgZm9udC1zdHlsZTogIGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLUxpZ2h0SXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLUxpZ2h0SXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTdWlzc2UgSW50bCc7XG4gIGZvbnQtc3R5bGU6ICBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zdWlzc2UvU3Vpc3NlSW50bC1SZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1N1aXNzZSBJbnRsJztcbiAgZm9udC1zdHlsZTogIG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICB1cmwoXCIuLi9mb250cy9zdWlzc2UvU3Vpc3NlSW50bC1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3Vpc3NlIEludGwnO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtTWVkaXVtSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgIHVybChcIi4uL2ZvbnRzL3N1aXNzZS9TdWlzc2VJbnRsLU1lZGl1bUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3Vpc3NlIEludGwnO1xuICBmb250LXN0eWxlOiAgbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3Vpc3NlIEludGwnO1xuICBmb250LXN0eWxlOiAgaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGRJdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgdXJsKFwiLi4vZm9udHMvc3Vpc3NlL1N1aXNzZUludGwtU2VtaUJvbGRJdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuIiwiLy8gVXRpbHMgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuXG4vLyBFbmFibGUgQGV4dGVuZCAucHNldWRvO1xuLnBzZXVkbyB7XG4gIEBpbmNsdWRlIHBzZXVkbztcbn1cblxuLndpZGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi50ZXh0IHtcbiAgJi1ibGFjayB7XG4gICAgY29sb3I6IHZhcigtLWJsYWNrKSAhaW1wb3J0YW50O1xuICB9XG4gICYtd2hpdGUge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmFja2dyb3VuZCB7XG4gICYtYmxhY2sge1xuICAgIGJhY2tncm91bmQ6IzFBMUExOCAhaW1wb3J0YW50O1xuXG4gICAgQGV4dGVuZCAudGV4dC13aGl0ZTtcbiAgfVxuICAmLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbiAgfVxuICAmLWNhcHB1Y2Npbm8ge1xuICAgIGJhY2tncm91bmQ6ICM5MDY0NEMgIWltcG9ydGFudDtcbiAgfVxuICAmLXJlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcmVkKSAhaW1wb3J0YW50O1xuICB9XG4gICYtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmx1ZSkgIWltcG9ydGFudDtcbiAgfVxuICAmLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0teWVsbG93KSAhaW1wb3J0YW50O1xuICB9XG4gICYtb2ZmLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vZmYtd2hpdGUpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2xlYXJmaXgge1xuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCIgXCI7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgLnBhZGRlZCB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG5cbiAgLmRlc2t0b3AtdXAsXG4gIC5kZXNrdG9wLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGFibGV0LWRvd24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gIC50YWJsZXQtb25seSxcbiAgLmhpZGUtZm9yLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gIC5tb2JpbGUtb25seSxcbiAgLmhpZGUtZm9yLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gIC50YWJsZXQtZG93bixcbiAgLnRhYmxldC1vbmx5LFxuICAuaGlkZS1mb3ItZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kZXNrdG9wLXVwIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBVc2UgdG8gbWFrZSBwc2V1ZG8tZWxlbWVudHMgXCJyZWFsXCJcbkBtaXhpbiBwc2V1ZG8oJGRpc3BsYXk6IGJsb2NrLCAkcG9zOiBhYnNvbHV0ZSwgJGNvbnRlbnQ6ICcnKXtcbiAgY29udGVudDogJGNvbnRlbnQ7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBwb3NpdGlvbjogJHBvcztcbn1cblxuLy8gQXBwbHkgb25lIG9mIHRoZSByZWRlc2lnbiB0eXBlIHRva2VucywgZS5nLiBAaW5jbHVkZSBwaGMtdHlwZSh0aXRsZS1yZWd1bGFyKS5cbi8vXG4vLyBUaGUgbWFwIGhvbGRzIHRoZSBkZXNpZ24ncyBweCB2YWx1ZXMgYW5kIHBoYy1sZW4gY29udmVydHMgdGhlbSBhZ2FpbnN0XG4vLyAtLXBoYy1yb290LCBzbyB0eXBlIHNjYWxlcyB3aXRoIHRoZSByZWFkZXIncyBicm93c2VyIHNldHRpbmcgb24gdGhlIHBhZ2VzIHRoZVxuLy8gcmVkZXNpZ24gb3ducy4gVGhlIG9sZCBwYWdlcyBwaW4gdGhlIHJvb3QgdG8gdGhlIHZpZXdwb3J0IGluc3RlYWQsIGFuZCBob2xkXG4vLyAtLXBoYy1yb290IGZsYXQg4oCUIHNlZSB1dGlscy9fdW5pdC5zY3NzIOKAlCBzbyB0aGUgY2hyb21lIHRoZXkgc2hhcmUgd2l0aCB0aGVcbi8vIHJlZGVzaWduIHJlbmRlcnMgYXQgb25lIHNpemUgZXZlcnl3aGVyZS5cbi8vXG4vLyBMaW5lIGhlaWdodCBpcyBhIGxlbmd0aCByYXRoZXIgdGhhbiBhIHJhdGlvIHNvIGl0IG1hdGNoZXMgRmlnbWEgZXhhY3RseSBhbmRcbi8vIHNjYWxlcyB3aXRoIHRoZSB0ZXh0LiBUcmFja2luZyBpcyBlbSwgd2hpY2ggc2NhbGVzIG9uIGl0cyBvd24uXG4vLyBcInNhbHRcIiBpcyBJbnRlcidzIHN0eWxpc3RpYyBhbHRlcm5hdGVzLCB3aGljaCB0aGUgZGVzaWduIGhhcyBzd2l0Y2hlZCBvbi5cbkBtaXhpbiBwaGMtdHlwZSgkbmFtZSkge1xuICAkdG9rZW46IG1hcC1nZXQoJHBoYy10eXBlLCAkbmFtZSk7XG5cbiAgQGlmICR0b2tlbiA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gdHlwZSB0b2tlbiBcIiN7JG5hbWV9XCIuIEF2YWlsYWJsZTogI3ttYXAta2V5cygkcGhjLXR5cGUpfS4nO1xuICB9XG5cbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJHRva2VuLCBmYW1pbHkpO1xuICBmb250LXNpemU6IHBoYy1sZW4obWFwLWdldCgkdG9rZW4sIHNpemUpKTtcbiAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRva2VuLCB3ZWlnaHQpO1xuICBsaW5lLWhlaWdodDogcGhjLWxlbihtYXAtZ2V0KCR0b2tlbiwgbGluZSkpO1xuICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkdG9rZW4sIHRyYWNraW5nKTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnc2FsdCcgMTtcbn1cblxuQG1peGluIHpvb21GYWRlSW5UcmFuc2l0aW9uKCkge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzhzIGVhc2Utb3V0IDAuMXMsIHRyYW5zZm9ybSAzcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwLjFzO1xufVxuXG5AbWl4aW4gZmFkZUFuZFNsaWRlSW5UcmFuc2l0aW9uKCkge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IDAuNXMsIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwLjVzO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4vLyBTYXNzIFZhcmlhYmxlc1xuJGhlcm8tcHJvcG9ydGlvbmFsLXBhZGRpbmc6IDU2LjI1JTsgLy8gOS8xNlxuJG1vYmlsZS1tYXJnaW46IHJlbS1jYWxjKDQwcHgpO1xuXG4kdGlnaHQta2VybmluZzogLTAuMDI1ZW07XG5cbi8vIFJlZGVzaWduIHR5cGUgdG9rZW5zLCBuYW1lZCBhZnRlciB0aGUgRmlnbWEgdmFyaWFibGVzIHNvIHRoZSB0d28gc3RheVxuLy8gY29tcGFyYWJsZS4gRmlnbWEgcmVwb3J0cyBsZXR0ZXItc3BhY2luZyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIGZvbnQgc2l6ZSDigJRcbi8vIGl0cyAtNSBvbiBhIDY0cHggdGl0bGUgcmVuZGVycyBhcyAtMy4ycHgg4oCUIHNvIHRob3NlIGJlY29tZSBlbSBoZXJlIGFuZCBzdGF5XG4vLyBjb3JyZWN0IGlmIGEgc2l6ZSBldmVyIGNoYW5nZXMuXG4vLyBFdmVyeSByZWRlc2lnbiBzdHlsZSBnb2VzIHRocm91Z2ggdGhlc2UsIHNvIHN3aXRjaGluZyB0aGUgTGF0aW4gZmFjZSBhY3Jvc3Ncbi8vIHRoZSB3aG9sZSBkZXNpZ24gaXMgYSBvbmUtbGluZSBjaGFuZ2UgaGVyZSByYXRoZXIgdGhhbiBhIGh1bnQgdGhyb3VnaCB0aGVcbi8vIHN0eWxlc2hlZXRzIOKAlCBwb2ludCAkcGhjLWZvbnQgYXQgJHBoYy1mb250LXN1aXNzZSBhbmQgZXZlcnl0aGluZyBmb2xsb3dzLlxuLy8gKFRoZSBAZm9udC1mYWNlIGJsb2NrcyBpbiBiYXNlL19mb250cy5zY3NzIGFyZSBub3QgYWZmZWN0ZWQ7IHRoZXkgbmFtZSB0aGVcbi8vIGZhbWlseSBlYWNoIGZpbGUgYWN0dWFsbHkgcHJvdmlkZXMuKVxuJHBoYy1mb250LXN1aXNzZTogJ1N1aXNzZSBJbnRsJywgc2Fucy1zZXJpZjtcbiRwaGMtZm9udC1pbnRlcjogJ0ludGVyJywgc2Fucy1zZXJpZjtcbiRwaGMtZm9udDogJHBoYy1mb250LXN1aXNzZTtcbiRwaGMtZm9udC1qcDogJ05vdG8gU2FucyBKUCcsIHNhbnMtc2VyaWY7XG5cbi8vIEJsb2NrIHNwYWNpbmcsIGZyb20gdGhlIEZpZ21hIGNvbXBvbmVudC4gcmVtIHRocm91Z2hvdXQgc28gdGhlIGdyaWQgc2NhbGVzXG4vLyB3aXRoIHRoZSByZWFkZXIncyBiYXNlIGZvbnQgc2l6ZSByYXRoZXIgdGhhbiBvbmx5IHRoZSB0ZXh0IGluc2lkZSBpdC4gVGhlXG4vLyBjb2x1bW4gd2lkdGhzIGFyZSBub3QgaGVyZSDigJQgdGhleSBhcmUgc2hhcmVzIG9mIHRoZSByb3csIGRlZmluZWQgd2hlcmUgdGhlXG4vLyBibG9ja3MgYXJlIGxhaWQgb3V0IGluIGNvbXBvbmVudHMvX2Jsb2Nrcy5zY3NzLlxuJHBoYy1ibG9jay1wYWRkaW5nOiByZW0tY2FsYyg0MHB4KTtcbiRwaGMtYmxvY2stZ2FwOiByZW0tY2FsYygyMHB4KTtcbiRwaGMtYmxvY2stcm93LWdhcDogcmVtLWNhbGMoNDBweCk7XG5cbi8vIEtleXMgbWF0Y2ggdGhlIC50ZXh0LXBoYy0qIHV0aWxpdHkgY2xhc3MgbmFtZXMgZ2VuZXJhdGVkIGluXG4vLyBjb21wb25lbnRzL190ZXh0LXN0eWxlcy5zY3NzLCBzbyB0aGUgbWFwIGlzIHRoZSBvbmx5IHBsYWNlIHRoZXNlIGFyZSBkZWZpbmVkLlxuLy9cbi8vIFRoZSB0d28gZmlndXJlIHN0eWxlcyBhcmUgdGhlIGNsaWVudCdzIHJldmlzaW9uIOKAlCBVcGRhdGVkL1BhZ2VGaWd1cmVzIGFuZFxuLy8gVXBkYXRlZC9QYWdlRmlndXJlc1N1cHBvcnQgaW4gUEhDX3VwZGF0ZSAyLiBUaHJlZSB0aGluZ3MgY2hhbmdlZCwgYW5kIHRoZVxuLy8gZmlyc3QgdHdvIGFyZSB3aGF0IHRoZSByZXZpc2lvbiBpcyBhY3R1YWxseSBhYm91dDpcbi8vXG4vLyAgIFRoZSBudW1iZXIgbG9zdCBhIHdlaWdodCwgU2VtaSBCb2xkIHRvIE1lZGl1bS4gQXQgMTI4cHggYSBzZW1pYm9sZCBpcyBhXG4vLyAgIHNsYWI7IE1lZGl1bSBpcyB3aGF0IGxldHMgYSBmaWd1cmUgdGhhdCBzaXplIHJlYWQgYXMgYSBudW1iZXIgcmF0aGVyIHRoYW5cbi8vICAgYXMgYSBoZWFkbGluZS5cbi8vXG4vLyAgIEJvdGggbG9zdCB0aGVpciB0cmFja2luZy4gLTUlIHB1bGxlZCAxMjhweCBvZiBkaWdpdHMgbmVhcmx5IHNldmVuIHBpeGVsc1xuLy8gICB0aWdodGVyIHBlciBnYXAsIHdoaWNoIGF0IHRoaXMgc2l6ZSBjbG9zZXMgdGhlIGNvdW50ZXJzIHVwLiBUaGUgZGVzaWduIHNldHNcbi8vICAgdGhlbSBhdCAwIG5vdyBhbmQgdGhlIGZpZ3VyZXMgYXJlIGRyYXduIGFzIHRoZSBmYWNlIGRyYXdzIHRoZW0uXG4vL1xuLy8gICBBbmQgdGhlIHN1ZmZpeCBjYW1lIGRvd24gZnJvbSA5NiB0byA4MCwgc28gdGhlIHVuaXQgc2l0cyB1bmRlciB0aGUgbnVtYmVyJ3Ncbi8vICAgY2FwIGhlaWdodCByYXRoZXIgdGhhbiBsZXZlbCB3aXRoIGl0LlxuLy9cbi8vIFN1aXNzZSBzaGlwcyByZWFsIE1lZGl1bSBhbmQgU2VtaSBCb2xkIGN1dHMg4oCUIHNlZSBiYXNlL19mb250cy5zY3NzIOKAlCBzb1xuLy8gbmVpdGhlciB3ZWlnaHQgaXMgc3ludGhlc2lzZWQuXG4kcGhjLXR5cGU6IChcbiAgcGFnZWZpZ3VyZXM6ICAgICAgICAoc2l6ZTogMTI4cHgsIGxpbmU6IDE1OHB4LCB3ZWlnaHQ6IDUwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250KSxcbiAgcGFnZWZpZ3VyZXNzdXBwb3J0OiAoc2l6ZTogIDgwcHgsIGxpbmU6ICA5OHB4LCB3ZWlnaHQ6IDYwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250KSxcbiAgdGl0bGUtcmVndWxhcjogICAgICAoc2l6ZTogIDY0cHgsIGxpbmU6ICA2NnB4LCB3ZWlnaHQ6IDMwMCwgdHJhY2tpbmc6IC0wLjA1ZW0sIGZhbWlseTogJHBoYy1mb250KSxcbiAgdGl0bGUtcHJvZmlsZTogICAgICAoc2l6ZTogIDQycHgsIGxpbmU6ICA0NHB4LCB3ZWlnaHQ6IDQwMCwgdHJhY2tpbmc6IC0wLjAyZW0sIGZhbWlseTogJHBoYy1mb250KSxcbiAgZm9vdGVybGlua2FnZTogICAgICAoc2l6ZTogIDI4cHgsIGxpbmU6ICAzNnB4LCB3ZWlnaHQ6IDUwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250KSxcbiAgc3RhbmRhcmQ6ICAgICAgICAgICAoc2l6ZTogIDIycHgsIGxpbmU6ICAyNHB4LCB3ZWlnaHQ6IDQwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250KSxcbiAgc21hbGx0eXBlOiAgICAgICAgICAoc2l6ZTogIDE2cHgsIGxpbmU6ICAxOHB4LCB3ZWlnaHQ6IDUwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250KSxcbiAgc3RhbmRhcmQtanA6ICAgICAgICAoc2l6ZTogIDE4cHgsIGxpbmU6ICAyNHB4LCB3ZWlnaHQ6IDQwMCwgdHJhY2tpbmc6IC0wLjA0ZW0sIGZhbWlseTogJHBoYy1mb250LWpwKSxcbiAgc21hbGx0eXBlLWpwOiAgICAgICAoc2l6ZTogIDE0cHgsIGxpbmU6ICAxOHB4LCB3ZWlnaHQ6IDUwMCwgdHJhY2tpbmc6IC0wLjAyZW0sIGZhbWlseTogJHBoYy1mb250LWpwKSxcblxuICAvLyBVcGRhdGVkL1NtYWxsX0JvbGQgaW4gUEhDX3VwZGF0ZSAyIOKAlCB0aGUgY2xpZW50J3MgcmV2aXNpb24gb2Ygd2hhdCBiZWdhblxuICAvLyBhcyBGUldEX3NtYWxsX2JvbGQgKDI0LzI2IE1lZGl1bSkuIEl0IGlzIHRoZSBzZWN0aW9uLWxhYmVsIHN0eWxlIG5vdzogdGhlXG4gIC8vIG5hbWUgY29sdW1uIG9mIHRoZSBibG9ja3MsIGF0IHNtYWxsdHlwZSdzIHNpemUgaW4gU3Vpc3NlIFNlbWkgQm9sZC5cbiAgc21hbGxib2xkOiAgICAgICAgICAoc2l6ZTogIDE2cHgsIGxpbmU6ICAxOHB4LCB3ZWlnaHQ6IDYwMCwgdHJhY2tpbmc6ICAgICAgIDAsIGZhbWlseTogJHBoYy1mb250LXN1aXNzZSlcbik7XG5cbi8vIFRoZSBkZXNpZ24ncyBtb2JpbGUgZnJhbWUuIEJlbG93IHRoaXMgd2lkdGggdGhlIHBhZ2UgaXMgbm90IGxhaWQgb3V0XG4vLyBkaWZmZXJlbnRseSDigJQgaXQgaXMgdGhlIHNhbWUgZHJhd2luZyBzY2FsZWQgYnkgdmlld3BvcnQgLyBjYW52YXMsIHNvIDM2MCBpc1xuLy8gdGhlIDcyMCBkZXNpZ24gYXQgaGFsZiBzaXplLiBiYXNlL19iYXNlLnNjc3MgYXBwbGllcyB0aGF0IHRvIHRoZSByb290IGZvbnRcbi8vIHNpemUsIHdoaWNoIGlzIHdoYXQgZXZlcnkgcmVtLCBldmVyeSByZW0tY2FsYyB0b2tlbiBhbmQgLS1waGMtcm9vdCBhcmVcbi8vIG1lYXN1cmVkIGZyb20sIHNvIHR5cGUgYW5kIHNwYWNpbmcgY29tZSBkb3duIHRvZ2V0aGVyLlxuJHBoYy1tb2JpbGUtY2FudmFzOiA3MjBweDtcblxuLy8gMTAwdncgLyA0NSBpcyBleGFjdGx5IDE2cHggYXQgNzIwIGFuZCBoYWxmIG9mIGl0IGF0IDM2MC4gV3JpdHRlbiBhcyBhIGRpdmlzb3Jcbi8vIHNvIHRoZSBjYW52YXMgYWJvdmUgc3RheXMgdGhlIG9ubHkgbnVtYmVyIGFueW9uZSBoYXMgdG8gY2hhbmdlLlxuJHBoYy1tb2JpbGUtZGl2aXNvcjogbWF0aC5kaXYoJHBoYy1tb2JpbGUtY2FudmFzLCAxNnB4KTtcblxuLy8gVGhlIGZsb29yIGlzIHNldCBpbiB0ZXJtcyBvZiB0aGUgYm9keSBjb3B5IOKAlCB0aGUgc2l6ZSBhIHJlYWRlciBhY3R1YWxseVxuLy8gbm90aWNlcyDigJQgYW5kIGNvbnZlcnRlZCBoZXJlIHRvIHRoZSByb290IGl0IGltcGxpZXMsIHNvIGNoYW5naW5nIHRoZVxuLy8gYHN0YW5kYXJkYCB0b2tlbiBhYm92ZSBjYW5ub3QgbGVhdmUgdGhlIHR3byBkaXNhZ3JlZWluZy5cbiRwaGMtbW9iaWxlLXJvb3QtcGVyLWJvZHk6IG1hdGguZGl2KDE2cHgsIG1hcC1nZXQobWFwLWdldCgkcGhjLXR5cGUsIHN0YW5kYXJkKSwgc2l6ZSkpO1xuXG4vLyBUaGUgcm9vdCBmb250IHNpemUgYmVsb3cgdGhlIGNhbnZhcywgYXMgb25lIGV4cHJlc3Npb24gYm90aCB0aGUgcmVkZXNpZ24nc1xuLy8gcGFnZXMgYW5kIHRoZSBvbGQgb25lcyB1c2UuIEEgc3RyaW5nIHNvIFNhc3MgaGFuZHMgdGhlIG1heCgpIHRocm91Z2ggdG8gQ1NTXG4vLyB1bnRvdWNoZWQgcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIHJlc29sdmUgYSB2dyBhZ2FpbnN0IGEgcHggYXQgY29tcGlsZSB0aW1lLlxuJHBoYy1tb2JpbGUtcm9vdDogJ21heChjYWxjKHZhcigtLXBoYy1tb2JpbGUtYm9keS1taW4pICogI3skcGhjLW1vYmlsZS1yb290LXBlci1ib2R5fSksIGNhbGMoMTAwdncgLyAjeyRwaGMtbW9iaWxlLWRpdmlzb3J9KSknO1xuXG4vLyBUaGUgc2FtZSBzY2FsZSB3aXRoIHRoZSBmbG9vciB0YWtlbiBvZmYuIFRoZSBmbG9vciBpcyBhIGZsb29yIG9uIGJvZHkgY29weSDigJRcbi8vIGl0IGV4aXN0cyBzbyBhIHBhc3NhZ2Ugc3RheXMgcmVhZGFibGUgb24gYSBuYXJyb3cgcGhvbmUg4oCUIGFuZCBpdCBpcyB0aGUgd3Jvbmdcbi8vIHByb21pc2UgdG8gbWFrZSB0byBhIGRpc3BsYXkgbnVtZXJhbCwgd2hpY2ggaXMgZW5vcm1vdXMgZWl0aGVyIHdheS4gQXBwbGllZFxuLy8gdG8gb25lIGl0IGhvbGRzIHRoZSBudW1iZXIgYXQgMC42NCB3aGlsZSB0aGUgY29sdW1uIGl0IHNpdHMgaW4ga2VlcHNcbi8vIG5hcnJvd2luZyB0b3dhcmQgMC41NCwgYW5kIHBhc3QgYWJvdXQgNDU4IHRoZSBwYWlyIG9mIGZpZ3VyZXMgZ3Jvd3Mgb3V0IG9mXG4vLyBpdHMgaGFsZiBvZiB0aGUgcm93IGFuZCBpbnRvIHRoZSBvdGhlciBvbmUuXG4vL1xuLy8gU28gdGhlIGZpZ3VyZXMgbWVhc3VyZSBhZ2FpbnN0IHRoaXMgaW5zdGVhZCBhbmQgc3RheSBhIHRydWUgc2NhbGUgb2YgdGhlIDcyMFxuLy8gZHJhd2luZyBhbGwgdGhlIHdheSBkb3duLiBTZWUgLnBoYy1ibG9ja19fZmlndXJlLXZhbHVlLlxuJHBoYy1tb2JpbGUtcm9vdC11bmZsb29yZWQ6ICdjYWxjKDEwMHZ3IC8gI3skcGhjLW1vYmlsZS1kaXZpc29yfSknO1xuXG4vLyBDU1MgdmFyaWFibGVzXG46cm9vdCB7XG4gIC0tc2l0ZS13aWR0aDogMTAwdnc7XG4gIC0tbWlkZGxlLWdyZXk6ICM5OTk7XG4gIC0tZGFya2Jyb3duOiAjMjYyNjI2O1xuICAtLW9mZi13aGl0ZTogI0UxRUZFRTtcbiAgLS1saWdodC1ncmV5OiAjZTRlNGU0O1xuICAtLXJlZDogI0ZFNDgyMztcbiAgLS1ibHVlOiAjNEQ5N0JGO1xuICAtLXllbGxvdzogI0Y4RjNDRDtcbiAgLS1vcmFuZ2U6ICNFREEzMTI7XG4gIC0tZ3JlZW46ICMzQzg1OTY7XG4gIC0tcHVycGxlOiAjRUI0QkQxO1xuICAtLWJhbm5lci1ncmV5OiAjOWQ4ZjhjO1xuICAtLWJhbm5lci1yZWQ6ICNGRjQ2MUU7XG4gIC0td2hpdGU6ICNmZmY7XG4gIC0tYmxhY2s6ICMwMDA7XG4gIC0tb2ZmLWJsYWNrOiAjMjIyO1xuICAtLWdyYXk6ICNhYWE7XG4gIC0tbG9hZC1tb3JlLWJhY2tncm91bmQ6ICMwMDA7XG4gIC0tZXh0ZW5zaW9uLWhvbWUtc2xpZGVzOiAjMDAwO1xuICAtLWV4dGVuc2lvbi1jb250ZW50LWdyaWQ6ICMwMDA7XG4gIC0tcGx5ci1jb2xvci1tYWluOiAjZmZmO1xuICAtLXBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlcjogIzk5OTtcbiAgLS1wbHlyLXZpZGVvLWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGx5ci1tZW51LWFycm93LXNpemU6IDIwcHg7XG4gIC0tY29sLTE6IGNhbGModmFyKC0tc2l0ZS13aWR0aCkgLyAxMik7XG4gIC0tY29sLTI6IGNhbGModmFyKC0tY29sLTEpICogMik7XG4gIC0tY29sLTM6IGNhbGModmFyKC0tY29sLTEpICogMyk7XG4gIC0tY29sLTQ6IGNhbGModmFyKC0tY29sLTEpICogNCk7XG4gIC0tY29sLTU6IGNhbGModmFyKC0tY29sLTEpICogNSk7XG4gIC0tY29sLTY6IGNhbGModmFyKC0tY29sLTEpICogNik7XG4gIC0tY29sLTc6IGNhbGModmFyKC0tY29sLTEpICogNyk7XG4gIC0tY29sLTg6IGNhbGModmFyKC0tY29sLTEpICogOCk7XG4gIC0tY29sLTk6IGNhbGModmFyKC0tY29sLTEpICogOSk7XG4gIC0tY29sLTEwOiBjYWxjKHZhcigtLWNvbC0xKSAqIDEwKTtcbiAgLS1jb2wtMTE6IGNhbGModmFyKC0tY29sLTEpICogMTEpO1xuICAtLXNjcm9sbGJhcjogY2FsYygxMDB2dyAtIDEwMCUpO1xuICAtLXNlY3Rpb24tbWFyZ2luOiAje3JlbS1jYWxjKDQ2cHgpfTtcbiAgLS1zZWN0aW9uLW1hcmdpbi1kb3VibGU6ICN7cmVtLWNhbGMoOTJweCl9O1xuICAtLWZvbnQtc2l6ZS1zOiAje3JlbS1jYWxjKDIwcHgpfTtcbiAgLS1saW5lLWhlaWdodC1zOiAxLjI1OyAvLyA1MC80MFxuICAtLWZvbnQtc2l6ZS1tOiAje3JlbS1jYWxjKDMwcHgpfTtcbiAgLS1saW5lLWhlaWdodC1tOiAxLjI7IC8vIDcyLzYwXG4gIC0tZm9udC1zaXplLWw6ICN7cmVtLWNhbGMoNDBweCl9O1xuICAtLWxpbmUtaGVpZ2h0LWw6IDE7IC8vIDgwLzgwXG4gIC0tZm9udC1zaXplLXhsOiAje3JlbS1jYWxjKDUwcHgpfTtcbiAgLS1saW5lLWhlaWdodC14bDogMTsgLy8gMTAwLzEwMFxuICAtLWZvbnQtc2l6ZS14eGw6ICN7cmVtLWNhbGMoNjBweCl9O1xuICAtLWxpbmUtaGVpZ2h0LXh4bDogMTsgLy8gMTIwLzEyMFxuICAtLWxldHRlci1zcGFjaW5nLXM6IDA7XG4gIC0tbGV0dGVyLXNwYWNpbmctbTogMDtcbiAgLS1sZXR0ZXItc3BhY2luZy1sOiAwO1xuICAtLWxldHRlci1zcGFjaW5nLXhsOiAwO1xuICAtLWxldHRlci1zcGFjaW5nLXh4bDogMDtcblxuICAvLyBSZWRlc2lnbiBwYWxldHRlLCBmcm9tIHRoZSBGaWdtYSB2YXJpYWJsZXMuIEtlcHQgYXBhcnQgZnJvbSB0aGUgY29sb3Vyc1xuICAvLyBhYm92ZSwgd2hpY2ggZXhpc3RpbmcgcGFnZXMgc3RpbGwgdXNlIOKAlCBub3RoaW5nIGhlcmUgb3ZlcnJpZGVzIHRob3NlLlxuICAtLXBoYy1ibGFjay1hZjogIzE3MTcxNztcbiAgLS1waGMtd2hpdGUtYWY6ICNGQUZBRkE7XG4gIC0tcGhjLXBhcGVyOiAjRkFGQUY2O1xuICAtLXBoYy1lZ2c6ICNFQUVBREE7XG4gIC0tcGhjLXRlYWw6ICNEMURFREU7XG4gIC0tcGhjLXRlYWwtd2FzaG91dDogIzI0MkMyQztcbiAgLS1waGMtZ3JheTogIzg3OTI5MjtcbiAgLS1waGMtZ3JheS13YXNob3V0OiAjNTA1NjU2O1xuICAtLXBoYy1vY2VhbjogIzRFQTVDNDtcblxuICAvLyBSb2xlcywgc28gYnJpZ2h0L2RhcmsgY2FuIGJlIHN3aXRjaGVkIGJ5IHJlYXNzaWduaW5nIHRoZXNlIGFsb25lLlxuICAtLXBoYy1iZzogdmFyKC0tcGhjLXBhcGVyKTtcbiAgLS1waGMtZmc6IHZhcigtLXBoYy1ibGFjay1hZik7XG4gIC0tcGhjLW11dGVkOiB2YXIoLS1waGMtZ3JheS13YXNob3V0KTtcbiAgLS1waGMtcnVsZTogdmFyKC0tcGhjLXRlYWwpO1xuICAtLXBoYy1hY2NlbnQ6IHZhcigtLXBoYy1vY2Vhbik7XG5cbiAgLS1waGMtcGFnZS13aWR0aDogI3tyZW0tY2FsYygxNDQwcHgpfTtcblxuICAvLyBIb3cgc21hbGwgdGhlIGRlc2lnbidzIGJvZHkgY29weSDigJQgdGhlIGBzdGFuZGFyZGAgdG9rZW4sIDIycHgg4oCUIGlzIGFsbG93ZWRcbiAgLy8gdG8gZ2V0IG9uIHRoZSB3YXkgZG93bi4gU2NhbGluZyBhIDcyMCBkcmF3aW5nIG9udG8gYSAzNjAgcGhvbmUgd291bGQgaGFsdmVcbiAgLy8gaXQgdG8gMTFweCwgd2hpY2ggaXMgcGFzdCB3aGF0IHRoZSByZWFkaW5nIGNvbHVtbnMgaG9sZCB1cCBhdCwgc28gdGhlIHNjYWxlXG4gIC8vIHN0b3BzIG9uY2UgYHN0YW5kYXJkYCByZWFjaGVzIHRoaXMgYW5kIG5hcnJvd2VyIHNjcmVlbnMgc2ltcGx5IGdldCBtb3JlXG4gIC8vIHJvb20gYXJvdW5kIHRoZSBzYW1lIHR5cGUuXG4gIC8vXG4gIC8vIFNldCB0aGlzIHRvIDAgZm9yIHB1cmUgcHJvcG9ydGlvbmFsIHNjYWxpbmcgYWxsIHRoZSB3YXkgZG93bi4gSXQgaXMgYVxuICAvLyBjdXN0b20gcHJvcGVydHkgcmF0aGVyIHRoYW4gYSBTYXNzIHZhcmlhYmxlIHNvIHRoYXQgc3dpdGNoIGNhbiBiZSB0aHJvd25cbiAgLy8gbGl2ZSBpbiBkZXZ0b29scywgb24gOnJvb3QsIHdpdGhvdXQgYSByZWJ1aWxkIOKAlCB3aGljaCBpcyB0aGUgcXVpY2tlc3Qgd2F5XG4gIC8vIHRvIHNlZSB0aGUgdHdvIGJlaGF2aW91cnMgYWdhaW5zdCBlYWNoIG90aGVyIG9uIGEgcmVhbCBkZXZpY2UuXG4gIC0tcGhjLW1vYmlsZS1ib2R5LW1pbjogMTRweDtcblxuICAvLyBXaGF0IHBoYy1sZW4oKSBtZWFzdXJlcyBhZ2FpbnN0LiBPbmUgcmVtIGhlcmUsIHNvIHRoZSByZWRlc2lnbidzIG93biBwYWdlc1xuICAvLyBzY2FsZSB3aXRoIHRoZSByZWFkZXIncyBicm93c2VyIHNldHRpbmc7IGJhc2UvX2Jhc2Uuc2NzcyBwaW5zIGl0IG9uIHRoZSBvbGRcbiAgLy8gb25lcywgd2hvc2Ugcm9vdCBpcyB0aWVkIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkLiBTZWUgdXRpbHMvX3VuaXQuc2Nzcy5cbiAgLS1waGMtcm9vdDogMXJlbTtcblxuICAvLyBUaGUgbWVudSBiYXIgaXMgdHJhbnNsdWNlbnQg4oCUIDcwJSBpbiB0aGUgZGVzaWduLCB3aGljaCBpcyB3aGF0IG1ha2VzIHRoZVxuICAvLyBcImdsYXNzXCIgd29yayBvbmNlIGl0IGlzIGJsdXJyZWQuIEtlcHQgYXMgbGl0ZXJhbCByZ2JhIGJlY2F1c2UgdGhlIHBhbGV0dGVcbiAgLy8gYWJvdmUgaXMgaGV4IGFuZCBjYW5ub3QgY2FycnkgYW4gYWxwaGEuXG4gIC8vXG4gIC8vIFRoZSBkYXJrIGdsYXNzIG9uIGV2ZXJ5IHBhZ2UsIGJyaWdodCBvbmVzIGluY2x1ZGVkIOKAlCB0aGUgYmFyIGlzIGZpeGVkXG4gIC8vIGNocm9tZSBzaGFyZWQgYWNyb3NzIHBhZ2VzLCBhbmQgaXQgcmVhZHMgYmV0dGVyIHN0YXlpbmcgb25lIHRoaW5nIHRoYW5cbiAgLy8gZm9sbG93aW5nIGVhY2ggcGFnZSdzIHNjaGVtZS5cbiAgLS1waGMtbWVudS1iZzogcmdiYSgzNiwgNDQsIDQ0LCAwLjcpOyAgICAgIC8vIFBIQyBUZWFsIFdhc2hvdXRcbiAgLS1waGMtbWVudS1mZzogdmFyKC0tcGhjLWdyYXkpO1xuICAtLXBoYy1tZW51LWZnLWFjdGl2ZTogdmFyKC0tcGhjLXdoaXRlLWFmKTtcblxuICAvLyBXaGF0IHRoZSBiYXIgaXMgZmlsbGVkIHdpdGggd2hlcmUgdGhlIHJlZnJhY3Rpb24gY2Fubm90IHJ1bi4gVGhlIGNvbXBvbmVudFxuICAvLyBjbGVhcnMgaXRzIHRpbnQgdGhlcmUsIG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgYSBibHVyIGlzIHN0YW5kaW5nIGluIGZvciBpdCxcbiAgLy8gd2hpY2ggbGVhdmVzIG5vdGhpbmcgYXQgYWxsIGJlaGluZCB0aGUgbWVudSBpbiBhIGJyb3dzZXIgdGhhdCBkcmF3cyBubyBibHVyXG4gIC8vIGVpdGhlci5cbiAgLy9cbiAgLy8gVGhlIHNhbWUgdmFsdWUgYXMgYWJvdmUsIGJlY2F1c2UgYSBncm91bmQgb3BhcXVlIGVub3VnaCB0byBzdXJ2aXZlIG5vIGJsdXJcbiAgLy8gaXMgb3BhcXVlIGVub3VnaCB0byBoaWRlIG9uZSB3aGVyZSBpdCBkb2VzIHdvcmsuIEl0IGlzIG5hbWVkIHNlcGFyYXRlbHkgc29cbiAgLy8gaXQgY2FuIGJlIHJhaXNlZCBvbiBpdHMgb3duIGlmIHNvbWUgYnJvd3NlciB0dXJucyBvdXQgdG8gbmVlZCBpdCDigJQgdGhlXG4gIC8vIHRyYWRlIGlzIGxlZ2liaWxpdHkgd2l0aG91dCBhIGJsdXIgYWdhaW5zdCBiZWluZyBhYmxlIHRvIHNlZSB0aGUgYmx1ciB3aXRoXG4gIC8vIG9uZSwgYW5kIG9ubHkgdGhpcyBsaW5lIGhhcyB0byBjaGFuZ2UgdG8gbW92ZSBhbG9uZyBpdC5cbiAgLy9cbiAgLS1waGMtbWVudS1iZy1mYWxsYmFjazogcmdiYSgzNiwgNDQsIDQ0LCAwLjcpOyAgIC8vIFBIQyBUZWFsIFdhc2hvdXRcblxuICAvLyBUaGUgZGFyayBiYW5kIHRoZSBmb290ZXIgYW5kIHRoZSBNb3JlLWZyb20tY2F0ZWdvcnkgYmxvY2sgc3RhbmQgb24sIG9uXG4gIC8vIGJyaWdodCBhbmQgZGFyayBwYWdlcyBhbGlrZSDigJQgdGhlIHVwZGF0ZWQgRmlnbWEgcGFpbnRzIGJvdGggZnJvbSBvbmVcbiAgLy8gZm9vdGVyYmcgdmFyaWFibGUsIFRlYWwgV2FzaG91dCwgcmF0aGVyIHRoYW4gaW52ZXJ0aW5nIHBlciBwYWdlLlxuICAtLXBoYy1jb250cmFzdC1iZzogdmFyKC0tcGhjLXRlYWwtd2FzaG91dCk7XG4gIC0tcGhjLWNvbnRyYXN0LWZnOiB2YXIoLS1waGMtcGFwZXIpO1xuICAtLXBoYy1jb250cmFzdC1tdXRlZDogdmFyKC0tcGhjLWdyYXkpO1xufVxuXG4vLyBEYXJrIGlzIGEgcGFnZS1sZXZlbCBzd2l0Y2g6IG9ubHkgdGhlIHJvbGVzIGNoYW5nZSwgbmV2ZXIgdGhlIHBhbGV0dGUuIFRoZVxuLy8gbWVudSBhbmQgdGhlIGNvbnRyYXN0IGJhbmQgYXJlIG5vdCBpbiBpdCDigJQgdGhvc2UgYXJlIHRoZSBzYW1lIGRhcmsgc3VyZmFjZXNcbi8vIG9uIGV2ZXJ5IHBhZ2UsIHNvIHRoZXkgYXJlIHNldHRsZWQgb25jZSBvbiA6cm9vdCBhYm92ZS5cbi5waGMtdGhlbWUtZGFyayB7XG4gIC0tcGhjLWJnOiB2YXIoLS1waGMtYmxhY2stYWYpO1xuICAtLXBoYy1mZzogdmFyKC0tcGhjLXdoaXRlLWFmKTtcbiAgLS1waGMtbXV0ZWQ6IHZhcigtLXBoYy1ncmF5KTtcbiAgLS1waGMtcnVsZTogdmFyKC0tcGhjLXRlYWwtd2FzaG91dCk7XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcC14eGwnKSB7XG4gIDpyb290IHtcbiAgICAtLXNpdGUtd2lkdGg6IDEwMHZ3O1xuICAgIC8vIC0tY29sLTE6IGNhbGModmFyKC0tc2l0ZS13aWR0aCkgLyAxMik7XG4gICAgLy8gLS1jb2wtMjogY2FsYyh2YXIoLS1jb2wtMSkgKiAyKTtcbiAgICAvLyAtLWNvbC0zOiBjYWxjKHZhcigtLWNvbC0xKSAqIDMpO1xuICAgIC8vIC0tY29sLTQ6IGNhbGModmFyKC0tY29sLTEpICogNCk7XG4gICAgLy8gLS1jb2wtNTogY2FsYyh2YXIoLS1jb2wtMSkgKiA1KTtcbiAgICAvLyAtLWNvbC02OiBjYWxjKHZhcigtLWNvbC0xKSAqIDYpO1xuICAgIC8vIC0tY29sLTc6IGNhbGModmFyKC0tY29sLTEpICogNyk7XG4gICAgLy8gLS1jb2wtODogY2FsYyh2YXIoLS1jb2wtMSkgKiA4KTtcbiAgICAvLyAtLWNvbC05OiBjYWxjKHZhcigtLWNvbC0xKSkqIDkpO1xuICAgIC8vIC0tY29sLTEwOiBjYWxjKHZhcigtLWNvbC0xKSAqIDEwKTtcbiAgICAvLyAtLWNvbC0xMTogY2FsYyh2YXIoLS1jb2wtMSkgKiAxMSk7XG4gIH1cbn1cbiIsIi8qISBGbGlja2l0eSB2Mi4yLjFcbmh0dHBzOi8vZmxpY2tpdHkubWV0YWZpenp5LmNvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBkcmFnZ2FibGUgKi9cbi8qIC0tLS0gZmxpY2tpdHktYnV0dG9uIC0tLS0gKi9cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cbi8qIHJpZ2h0IHRvIGxlZnQgKi9cbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cbi5mbGlja2l0eS1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG4uZmxpY2tpdHktdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5mbGlja2l0eS1zbGlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG4gIH1cbiAgLmZsaWNraXR5LXZpZXdwb3J0LmlzLXBvaW50ZXItZG93biB7XG4gICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbn1cbi5mbGlja2l0eS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMzMzO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzE5RjtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbi5mbGlja2l0eS1idXR0b24taWNvbiB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgdG9wOiAyMCU7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgfVxufVxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xuICBsZWZ0OiAxMHB4O1xufVxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7XG4gIHJpZ2h0OiAxMHB4O1xufVxuLmZsaWNraXR5LXJ0bCB7XG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG4gIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbiAgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLmRvdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDAgOHB4O1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5kb3QuaXMtc2VsZWN0ZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJcbi5ncmlkLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogdmFyKC0tc2l0ZS13aWR0aCk7XG4gIGxlZnQ6IGNhbGMoKCgxMDB2dyAtICh2YXIoLS1zaXRlLXdpZHRoKSkpIC0gKDEwMHZ3IC0gMTAwJSkpIC8gMik7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEyMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICYub2ZmIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJl9fY29sIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKS8xMik7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzc3NztcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzc3NztcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgd2lkdGg6IGNhbGMoKCh2YXIoLS1zaXRlLXdpZHRoKSkvMTIpIC0gMzBweCk7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDEzKSB7XG4gICAgICB3aWR0aDogY2FsYygoKHZhcigtLXNpdGUtd2lkdGgpKS8xMikgLSAzMHB4KTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzc3NztcbiAgICB9XG4gIH1cbn1cblxuLndyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBTbyB0aGUgZmxvYXRpbmcgXCJCYWNrIHRvIHBvcnRmb2xpb1wiIG1lYXN1cmVzIGZyb20gdGhlIHRvcCBvZiB0aGUgcGFnZSdzXG4gIC8vIGNvbnRlbnQgcmF0aGVyIHRoYW4gZnJvbSB0aGUgdmlld3BvcnQg4oCUIGl0IHNob3VsZCBzY3JvbGwgYXdheSB3aXRoIHRoZVxuICAvLyBoZXJvIGl0IHNpdHMgb24sIG5vdCBmb2xsb3cgdGhlIHJlYWRlciBkb3duIHRoZSBwYWdlLlxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5ibHVyIHtcbiAgICAvLyBmaWx0ZXI6IGJsdXIoOHB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjRzIGVhc2Utb3V0O1xufVxuXG4uY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29sIHtcbiAgd2lkdGg6IDguMzMlO1xuXG4gICYtMSB7XG4gICAgd2lkdGg6IDguMzMlO1xuICB9XG5cbiAgJi0yIHtcbiAgICB3aWR0aDogMTYuNjYlO1xuICB9XG5cbiAgJi0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG5cbiAgJi00IHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG5cbiAgJi01IHtcbiAgICB3aWR0aDogNDEuNjUlO1xuICB9XG5cbiAgJi02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgJi03IHtcbiAgICB3aWR0aDogNTguMzMlO1xuICB9XG5cbiAgJi04IHtcbiAgICB3aWR0aDogNjYuNjYlO1xuICB9XG5cbiAgJi05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgJi0xMCB7XG4gICAgd2lkdGg6IDgzLjMzJTtcbiAgfVxuXG4gICYtMTEge1xuICAgIHdpZHRoOiA5MS42NiU7XG4gIH1cblxuICAmLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ub2Zmc2V0IHtcbiAgJi0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMyU7XG4gIH1cblxuICAmLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NiU7XG4gIH1cblxuICAmLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cblxuICAmLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMyU7XG4gIH1cblxuICAmLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NSU7XG4gIH1cblxuICAmLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cblxuICAmLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMyU7XG4gIH1cblxuICAmLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NiU7XG4gIH1cblxuICAmLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cblxuICAmLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMlO1xuICB9XG5cbiAgJi0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2JTtcbiAgfVxuXG4gICYtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG4udG90YWwtY29scy1tZCB7XG4gICYtMSB7XG4gICAgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmLTIge1xuICAgID4gKiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuICAmLTMge1xuICAgID4gKiB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gIH1cbiAgJi0xMixcbiAgJi0xMSxcbiAgJi0xMSxcbiAgJi0xMCxcbiAgJi05LFxuICAmLTgsXG4gICYtNyxcbiAgJi02LFxuICAmLTUsXG4gICYtNCB7XG4gICAgPiAqIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAudG90YWwtY29scy1zbSB7XG4gICAgJi0xIHtcbiAgICAgID4gKiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLTIge1xuICAgICAgPiAqIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtMyB7XG4gICAgICA+ICoge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtNCB7XG4gICAgICA+ICoge1xuICAgICAgICB3aWR0aDogMjUlO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8vIDEwMCUgaG9ub3VycyB3aGF0ZXZlciBiYXNlIHNpemUgdGhlIHJlYWRlciBoYXMgc2V0IGluIHRoZWlyIGJyb3dzZXIsIGFuZFxuICAvLyBldmVyeSByZW0gaW4gdGhlIHJlZGVzaWduIHNjYWxlcyB3aXRoIGl0LiBUaGUgb2xkIGRlc2lnbiBpbnN0ZWFkIHBpbm5lZCB0aGVcbiAgLy8gcm9vdCB0byB0aGUgdmlld3BvcnQsIHdoaWNoIG1lYW50IGEgcmVtIGRyaWZ0ZWQgd2l0aCB3aW5kb3cgd2lkdGggYW5kIG5vXG4gIC8vIGFtb3VudCBvZiB6b29taW5nIGNoYW5nZWQgdGhlIHR5cGUg4oCUIHNvIHRoYXQgc3RheXMgd2l0aCB0aGUgb2xkIHBhZ2VzIG9ubHkuXG4gIGZvbnQtc2l6ZTogMTAwJTtcblxuICAvLyBQYXN0IHRoZSBkZXNpZ24ncyBvd24gMTQ0MCBjYW52YXMgdGhlIHR5cGUgYW5kIHRoZSBsYXlvdXQgZ3JvdyB3aXRoIHRoZVxuICAvLyB3aW5kb3csIHNvIGEgdmVyeSB3aWRlIHNjcmVlbiBpcyBub3QganVzdCBtb3JlIHdoaXRlc3BhY2UuIEJlbG93IDE0NDAgaXRcbiAgLy8gc3RheXMgZmxhdCwgd2hpY2gga2VlcHMgbW9iaWxlIGF0IHRoZSBzYW1lIHNpemVzIGFzIGRlc2t0b3AgYXMgaW50ZW5kZWQuXG4gIC8vXG4gIC8vIDAuNzAzZW0gKyAwLjMzdncgaXMgZXhhY3RseSAxcmVtIGF0IDE0NDAsIHNvIHRoZSBkZXNpZ24gc3RpbGwgbWF0Y2hlcyBpdHNcbiAgLy8gY2FudmFzIHRvIHRoZSBwaXhlbC4gSXQgaXMgZW0gcmF0aGVyIHRoYW4gcmVtIG9uIHB1cnBvc2U6IGluIGZvbnQtc2l6ZSBvblxuICAvLyB0aGUgcm9vdCBlbGVtZW50IHJlbSByZXNvbHZlcyB0byB0aGUgaW5pdGlhbCAxNnB4IGFuZCB3b3VsZCB0aHJvdyBhd2F5IHRoZVxuICAvLyByZWFkZXIncyBvd24gc2V0dGluZywgd2hlcmVhcyBlbSBpbmhlcml0cyBpdC5cbiAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC14bCcpIHtcbiAgICBmb250LXNpemU6IGNhbGMoMC43MDNlbSArIDAuMzN2dyk7XG4gIH1cblxuICAvLyBBbmQgYmVsb3cgdGhlIGRlc2lnbidzIDcyMCBtb2JpbGUgZnJhbWUgaXQgY29tZXMgZG93biB3aXRoIHRoZSB3aW5kb3csIHNvXG4gIC8vIGEgcGhvbmUgaXMgdGhhdCBkcmF3aW5nIHNjYWxlZCByYXRoZXIgdGhhbiBhIGRpZmZlcmVudGx5IHByb3BvcnRpb25lZCBvbmU6XG4gIC8vIHR5cGUsIHRoZSByZW0gc3BhY2luZyB0b2tlbnMgYW5kIC0tcGhjLXJvb3QgYWxsIHNocmluayB0b2dldGhlciwgYW5kIDM4MFxuICAvLyBhbmQgNzIwIGRpZmZlciBvbmx5IGluIHNpemUuIDEwMHZ3IC8gNDUgaXMgZXhhY3RseSAxNnB4IGF0IDcyMCwgc28gbm90aGluZ1xuICAvLyBtb3ZlcyBhdCB0aGUgd2lkdGggdGhlIGRlc2lnbiB3YXMgZHJhd24gYXQuXG4gIC8vXG4gIC8vIHZ3IHJhdGhlciB0aGFuIHRoZSBlbSBhYm92ZSwgYW5kIGRlbGliZXJhdGVseTogYSBzY2FsZSBtZWFudCB0byByZXByb2R1Y2VcbiAgLy8gdGhlIGRlc2lnbiBhdCBhbnkgd2lkdGggY2Fubm90IGFsc28gYmUgbXVsdGlwbGllZCBieSB0aGUgcmVhZGVyJ3Mgb3duIGZvbnRcbiAgLy8gc2V0dGluZywgb3IgdGhlIHR3byB3b3VsZCBmaWdodC4gLS1waGMtbW9iaWxlLWJvZHktbWluIGlzIHdoYXQga2VlcHMgdGhlXG4gIC8vIGNvcHkgcmVhZGFibGUgYXQgdGhlIG5hcnJvdyBlbmQgaW5zdGVhZCDigJQgc2VlIF92YXJpYWJsZXMuc2NzcywgYW5kIHNldCBpdFxuICAvLyB0byAwIHRvIHdhdGNoIHRoZSBzY2FsZSBydW4gdW5jaGVja2VkIGFsbCB0aGUgd2F5IGRvd24uXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkcGhjLW1vYmlsZS1jYW52YXMpIHtcbiAgICBmb250LXNpemU6ICN7JHBoYy1tb2JpbGUtcm9vdH07XG4gIH1cblxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXG4gICYub2xkIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiBjYWxjKDE0cHggKyAuMzN2dyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBmb250LXNpemU6IGNhbGMoMTJweCArIC4zM3Z3KTtcbiAgICB9XG5cbiAgICAvLyBUaGUgbWVudSwgZm9vdGVyIGFuZCBiYWNrIGxpbmsgYXJlIHRoZSByZWRlc2lnbidzIGhlcmUgdG9vLCBhbmQgdGhleSBhcmVcbiAgICAvLyBmaXhlZCB0byB0aGUgd2luZG93IHJhdGhlciB0aGFuIHRvIHRoaXMgcGFnZSDigJQgc28gdGhleSBtdXN0IG5vdCBmb2xsb3dcbiAgICAvLyB0aGlzIHJvb3QsIG9yIHRoZSBiYXIgd291bGQgY2hhbmdlIHNpemUgYXMgdGhlIHJlYWRlciBtb3ZlcyBiZXR3ZWVuIGFuXG4gICAgLy8gb2xkIHBhZ2UgYW5kIGEgcmVidWlsdCBvbmUuIEhlbGQgYXQgYSBmbGF0IDE2cHgsIHdoaWNoIGNvc3RzIG5vdGhpbmc6XG4gICAgLy8gdGhlIHJvb3QgYWJvdmUgYWxyZWFkeSBpZ25vcmVzIHRoZSByZWFkZXIncyBzZXR0aW5nLiBTZWUgdXRpbHMvX3VuaXQuc2Nzcy5cbiAgICAtLXBoYy1yb290OiAxNnB4O1xuXG4gICAgLy8gRXhjZXB0IGJlbG93IHRoZSBtb2JpbGUgY2FudmFzLCB3aGVyZSB0aGUgcmVkZXNpZ24ncyBvd24gcGFnZXMgYXJlXG4gICAgLy8gc2NhbGluZyB0aGVpciBjaHJvbWUgZG93biB3aXRoIGV2ZXJ5dGhpbmcgZWxzZS4gU2FtZSBleHByZXNzaW9uLCBzbyB0aGVcbiAgICAvLyBiYXIgaXMgc3RpbGwgdGhlIHNhbWUgc2l6ZSBvbiBib3RoIGFuZCB0aGUgcmVhc29uIGZvciBwaW5uaW5nIGl0IGhvbGRzLlxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkcGhjLW1vYmlsZS1jYW52YXMpIHtcbiAgICAgIC0tcGhjLXJvb3Q6ICN7JHBoYy1tb2JpbGUtcm9vdH07XG4gICAgfVxuICB9XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuXG4gIC8vIFN1cHBvcnRlZCBJbnRlciBmZWF0dXJlczogdG51bSwgZnJhYywgY2FzZSwgY2NtcCwgZGxpZywgbnVtciwgZG5vbSwgc3Vwcywgc3VicywgY3ZYWFxuICAvLyBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic3MwM1wiIDEsIFwiY3ZYWFwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImZyYWNcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY2FzZVwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJjY21wXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImRsaWdcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibnVtclwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogIFwiZG5vbVwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzdXBzXCIgMTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInN1YnNcIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwiY3ZYWFwiIDE7XG4gIC8vIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCIgMSwgXCJmcmFjXCIgMSwgXCJjYXNlXCIgMSwgXCJjY21wXCIgMSwgXCJkbGlnXCIgMSwgXCJudW1yXCIgMSwgXCJkbm9tXCIgMSwgXCJzdXBzXCIgMSwgXCJzdWJzXCIgMSwgXCJjdlhYXCI7XG4gIC8vIGZvbnQtdmFyaWFudC1hbHRlcm5hdGVzOiBzdHlsZXNldChzczAxKTsgLyogU3R5bGlzdGljIHNldCAxIG9uLCBoaWdoLWxldmVsICovXG59XG5cbi8vIEhlYWRpbmcgYW5kIHBhcmFncmFwaCBkZWZhdWx0cyBub3cgbGl2ZSBpbiBiYXNlL190eXBvZ3JhcGh5LnNjc3MsIHdpdGggdGhlXG4vLyBwcmUtcmVkZXNpZ24gdmVyc2lvbnMga2VwdCBpbiBiYXNlL190eXBvZ3JhcGh5LWxlZ2FjeS5zY3NzIHVuZGVyIGJvZHkub2xkLlxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5hIHtcbiAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gIH1cbn1cblxuYXVkaW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5jYW52YXMge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxub2wsXG51bCB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBsaSB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICB9XG5cbiAgbGkrbGkge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICB9XG4gIH1cbn1cblxudWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICA+IGxpIHtcbiAgICB0ZXh0LWluZGVudDogLTFweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIH1cbiAgfVxufVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IHBldGVyaGFpbmVyLWN1c3RvbS1jb3VudGVyO1xuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHBldGVyaGFpbmVyLWN1c3RvbS1jb3VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihwZXRlcmhhaW5lci1jdXN0b20tY291bnRlcik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIERlZmluZXMgc2VjdGlvbi13cmFwcGVyIGFuZCB0aGUgY29sb3IgYXR0cmlidXRlc1xuLnNlY3Rpb24td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmLS1yZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJlZCk7XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIH1cblxuICAmLS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgfVxufVxuXG4ubWFpbiAuYmFja2dyb3VuZC1jYXBwdWNjaW5vLFxuLmJhY2tncm91bmQtY2FwcHVjY2lubyB7XG5cbiAgYSxcbiAgYSA+ICoge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIH1cbn1cblxuXG5cblxuLnNlY3Rpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuXG4gICYtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWZsb3c6IHdyYXA7XG59XG5cbi5hcnRpY2xlLW1haW4ge1xuICBtYXJnaW46IDBweCBhdXRvIDBweDtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbn1cblxuLmhlYWRsZXNzIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xufVxuXG4uYXJyb3ctbGluayB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyMTkyXCI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLW91dDtcbiAgfVxuXG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuc21hbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbn1cblxuXG4ubWFpbiB7XG4gIC5pbnRyby1zZWN0aW9uX19jYWxsIHtcbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLy8gR3JleSBpcyB0aGUgb2xkIGRlc2lnbidzIGxpbmsgY29sb3VyLCBhbmQgaXQgaXMgc2V0IGhlcmUgd2l0aCBhbiBlbGVtZW50XG4gIC8vIGluc2lkZSBhIGNsYXNzIOKAlCB3aGljaCBvdXRyYW5rcyBhIHBsYWluIGNsYXNzLCBzbyBpdCB3YXMgcmVhY2hpbmcgcGFzdFxuICAvLyAucGhjLWJsb2NrX19saW5rJ3MgYGNvbG9yOiBpbmhlcml0YCBhbmQgZ3JleWluZyB0aGUgcmVkZXNpZ24ncyBsaW5rcyB0b28uXG4gIC8vIFRoZSByZWRlc2lnbiB0YWtlcyBpdHMgaW5rIGZyb20gdGhlIHBhZ2Ugcm9sZXMsIHNvIHRoaXMgc3RlcHMgYXNpZGUgZm9yXG4gIC8vIGFueXRoaW5nIGNhcnJ5aW5nIGEgcGhjLSBjbGFzcywgdGhlIHNhbWUgd2F5IHRoZSBsZWdhY3kgdHlwZSBydWxlcyBzdGVwXG4gIC8vIGFzaWRlIGZvciB0aGUgdGV4dC1waGMtKiB1dGlsaXRpZXMuXG4gIGE6bm90KFtjbGFzcyo9J3BoYy0nXSkge1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gVGhlIGhlYWRpbmcgc2l6ZXMgdGhhdCB1c2VkIHRvIHNpdCBoZXJlIGFyZSBpbiBiYXNlL190eXBvZ3JhcGh5LWxlZ2FjeS5zY3NzXG4gIC8vIHVuZGVyIGJvZHkub2xkLiBMaW5rIHN0eWxpbmcgaW5zaWRlIGhlYWRpbmdzIHN0YXlzLCBzaW5jZSBpdCBpcyBub3QgdHlwZS5cbiAgaDIge1xuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRhYmxlLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgcCB7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgICYuYXJyb3ctbGluayB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSByZXNwb25zaXZlIGhlYWRpbmcgYW5kIHBhcmFncmFwaCBzaXplcyB0aGF0IHVzZWQgdG8gc2l0IGhlcmUgbW92ZWQgdG9cbiAgLy8gYmFzZS9fdHlwb2dyYXBoeS1sZWdhY3kuc2NzcyB1bmRlciBib2R5Lm9sZCwgYWxvbmcgd2l0aCB0aGUgcmVzdCBvZiB0aGVcbiAgLy8gcHJlLXJlZGVzaWduIHR5cGUuXG59XG5cbi8vIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuLy8gICAubWFpbiB7XG4vLyAgICAgcGFkZGluZy10b3A6IHZhcigtLXNlY3Rpb24tbWFyZ2luKTtcbi8vICAgfVxuLy8gfVxuXG5cblxuLy8gUmVtb3ZlIHRlbGVwaG9uZSBmb3JtYXR0aW5nXG5hW2hyZWZePVwidGVsXCJdIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4ua2VybmluZy0yNSB7XG4gIGxldHRlci1zcGFjaW5nOiAkdGlnaHQta2VybmluZztcbn1cblxuLnR5cGUtcyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcykgIWltcG9ydGFudDtcbn1cbi50eXBlLW0ge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSkgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pICFpbXBvcnRhbnQ7XG59XG4udHlwZS1sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCkgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKSAhaW1wb3J0YW50O1xufVxuLnR5cGUteGwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCkgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcteGwpICFpbXBvcnRhbnQ7XG59XG4udHlwZS14eGwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14eGwpICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14eGwpICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy14eGwpICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBEZWZhdWx0IHR5cG9ncmFwaHkg4oCUIHRoZSByZWRlc2lnbi5cbi8vXG4vLyBQbGFpbiBlbGVtZW50cyBjYXJyeSB0aGUgcmVkZXNpZ24ncyB0eXBlLCBzbyBjb250ZW50IHdyaXR0ZW4gaW4gdGhlIGVkaXRvclxuLy8gbG9va3MgcmlnaHQgd2l0aG91dCBhbnlvbmUgcmVhY2hpbmcgZm9yIGEgY2xhc3MuIFRoZSAudGV4dC1waGMtKiB1dGlsaXRpZXNcbi8vIGFyZSBzaW5nbGUgY2xhc3NlcyBhbmQgdGhlc2UgYXJlIGJhcmUgZWxlbWVudHMsIHNvIGEgdXRpbGl0eSBhbHdheXMgd2luc1xuLy8gd2hlcmUgYSBzcGVjaWZpYyBzdHlsZSBpcyB3YW50ZWQuXG4vL1xuLy8gUGFnZXMgdGhhdCBoYXZlIG5vdCBtb3ZlZCB0byB0aGUgcmVkZXNpZ24gY2FycnkgYG9sZGAgb24gdGhlIGJvZHkgYW5kIGdldFxuLy8gYmFzZS9fdHlwb2dyYXBoeS1sZWdhY3kuc2NzcyBpbnN0ZWFkLlxuLy9cbi8vIEhlYWRpbmdzIGJlbG93IGgxIGFyZSBhIGp1ZGdlbWVudCBjYWxsOiB0aGUgZGVzaWduIG5hbWVzIHN0eWxlcyBieSByb2xlXG4vLyAoVGl0bGVfUmVndWxhciwgVGl0bGVfUHJvZmlsZSkgcmF0aGVyIHRoYW4gYnkgaGVhZGluZyBsZXZlbCwgc28gdGhlc2UgYXJlXG4vLyBtYXBwZWQgdG8gdGhlIG5lYXJlc3QgZXF1aXZhbGVudCBhbmQgYXJlIHdvcnRoIHJldmlzaXRpbmcgb25jZSB0aGUgcmVkZXNpZ25lZFxuLy8gcGFnZXMgc2hvdyB3aGljaCBsZXZlbHMgYWN0dWFsbHkgZ2V0IHVzZWQuXG5cbiRwaGMtdHlwZS1tYXJnaW46ICRwaGMtYmxvY2stZ2FwO1xuXG4vLyBBIHJlZGVzaWduIHBhZ2UgdGFrZXMgaXRzIGdyb3VuZCBhbmQgaW5rIGZyb20gdGhlIHJvbGUgdmFyaWFibGVzLCBzbyBicmlnaHRcbi8vIGFuZCBkYXJrIGFyZSB0aGUgc2FtZSBzdHlsZXNoZWV0IHdpdGggZm91ciB2YWx1ZXMgc3dhcHBlZC4gTGVnYWN5IHBhZ2VzIGFyZVxuLy8gdW50b3VjaGVkIOKAlCBuZWl0aGVyIGNsYXNzIGlzIHByZXNlbnQgb24gdGhlbS5cbi5waGMtdGhlbWUtYnJpZ2h0LFxuLnBoYy10aGVtZS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLWNvbnRyYXN0LWJnKTtcblxuICAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tcGhjLWZnKTtcbiAgfVxufVxuXG4vLyBUaGUgY2FudmFzIOKAlCB3aGF0IGEgYnJvd3NlciBwYWludHMgYmV5b25kIHRoZSBwYWdlIGl0c2VsZiwgaW4gb3ZlcnNjcm9sbCBhbmRcbi8vIGJlaGluZCBpT1MgU2FmYXJpJ3MgY29sbGFwc2luZyB0b29sYmFycy4gSXQgdGFrZXMgdGhlIGh0bWwgZWxlbWVudCdzXG4vLyBiYWNrZ3JvdW5kLCBhbmQgd2l0aCBub25lIHNldCBpdCBib3Jyb3dlZCB0aGUgcGFnZSdzIGdyb3VuZCwgd2hpY2ggcHV0IGFcbi8vIGJhbmQgb2YgcGFnZSBjb2xvdXIgdW5kZXIgdGhlIGZvb3RlcidzIGRhcmsgYmFuZCBvbiBhbiBpUGhvbmUuXG4vL1xuLy8gQSBncmFkaWVudCBzcGxpdHMgaXQgaW5zdGVhZDogZXZlcnl0aGluZyBhYm92ZSB0aGUgcGFnZSdzIGVuZCBtYXRjaGVzIHRoZVxuLy8gcGFnZSwgZXZlcnl0aGluZyBiZWxvdyBpdCBtYXRjaGVzIHRoZSBmb290ZXIuIFRoZSBzdG9wcyBhcmUgaGFyZCBhdCB0aGVcbi8vIG1pZHBvaW50IG9mIHRoZSBkb2N1bWVudCwgd2hpY2ggbm8gcmVhZGVyIGV2ZXIgc2VlcyDigJQgb25seSB0aGUgdHdvIGVuZHNcbi8vIGJsZWVkIGludG8gdmlldywgYW5kIGVhY2ggc2hvd3MgaXRzIG93biBmbGF0IGNvbG91ci5cbi8vXG4vLyBPbiBodG1sIHJhdGhlciB0aGFuIDpyb290IHNvIGl0IHN0YXlzIG9mZiB0aGUgb2xkIHBhZ2VzLCB3aGljaCBjYXJyeSBub1xuLy8gdGhlbWUgY2xhc3MgdXAgaGVyZSDigJQgc2VlIHRoZSBsYW5ndWFnZV9hdHRyaWJ1dGVzIGZpbHRlciBpblxuLy8gbGlicmFyeS9yZWRlc2lnbi5waHAgZm9yIGhvdyB0aGUgY2xhc3MgYXJyaXZlcy5cbmh0bWwucGhjLXRoZW1lLWJyaWdodCxcbmh0bWwucGhjLXRoZW1lLWRhcmsge1xuICAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHZhcigtLXBoYy1iZykgMTAwJSwgdmFyKC0tcGhjLWNvbnRyYXN0LWJnKSAxMDAlKTtcbiAgfVxufVxuXG5oMSB7XG4gIEBpbmNsdWRlIHBoYy10eXBlKHRpdGxlLXJlZ3VsYXIpO1xuXG4gIG1hcmdpbjogMCAwICRwaGMtdHlwZS1tYXJnaW47XG59XG5cbmgyIHtcbiAgQGluY2x1ZGUgcGhjLXR5cGUodGl0bGUtcHJvZmlsZSk7XG5cbiAgbWFyZ2luOiAwIDAgJHBoYy10eXBlLW1hcmdpbjtcbn1cblxuaDMge1xuICBAaW5jbHVkZSBwaGMtdHlwZShmb290ZXJsaW5rYWdlKTtcblxuICBtYXJnaW46IDAgMCAkcGhjLXR5cGUtbWFyZ2luO1xufVxuXG5oNCxcbmg1LFxuaDYge1xuICBAaW5jbHVkZSBwaGMtdHlwZShzdGFuZGFyZCk7XG5cbiAgbWFyZ2luOiAwIDAgJHBoYy10eXBlLW1hcmdpbjtcbn1cblxucCB7XG4gIEBpbmNsdWRlIHBoYy10eXBlKHN0YW5kYXJkKTtcblxuICBtYXJnaW46IDAgMCAkcGhjLXR5cGUtbWFyZ2luO1xufVxuXG5zbWFsbCB7XG4gIEBpbmNsdWRlIHBoYy10eXBlKHNtYWxsdHlwZSk7XG59XG5cbi8vIEphcGFuZXNlIGlzIGRlbGliZXJhdGVseSBub3Qga2V5ZWQgb2ZmIDpsYW5nIGhlcmUuIGA6bGFuZyhqYSkgcGAgd291bGQgYmUgYVxuLy8gcHNldWRvLWNsYXNzIHBsdXMgYW4gZWxlbWVudCAoMCwxLDEpIGFuZCB3b3VsZCBxdWlldGx5IG91dHJhbmsgZXZlcnlcbi8vIC50ZXh0LXBoYy0qIHV0aWxpdHkgKDAsMSwwKS4gSmFwYW5lc2UgY29weSBjYXJyaWVzIHRleHQtcGhjLXN0YW5kYXJkLWpwXG4vLyBleHBsaWNpdGx5IGluc3RlYWQuXG4iLCIvLyBUeXBvZ3JhcGh5IGZyb20gYmVmb3JlIHRoZSByZWRlc2lnbi5cbi8vXG4vLyBUaGVzZSBhcmUgdGhlIGhlYWRpbmcgYW5kIHBhcmFncmFwaCBydWxlcyB0aGF0IHVzZWQgdG8gc2l0IGluIGJhc2UvX2Jhc2Uuc2Nzc1xuLy8gYXMgcGxhaW4gZWxlbWVudHMuIFRoZXkgYXJlIHVuY2hhbmdlZCBhcGFydCBmcm9tIGJlaW5nIHNjb3BlZCB0byBgLm9sZGAsXG4vLyB3aGljaCBmdW5jdGlvbnMucGhwIHB1dHMgb24gZXZlcnkgcGFnZSB0aGF0IGhhcyBub3Qgb3B0ZWQgaW50byB0aGUgcmVkZXNpZ24g4oCUXG4vLyBzbyB0aGV5IHN0aWxsIGFwcGx5IGV4YWN0bHkgd2hlcmUgdGhleSBhbHdheXMgZGlkLCBhbmQgbm93aGVyZSBlbHNlLlxuLy9cbi8vIFBhZ2VzIG1vdmUgYWNyb3NzIG9uZSBhdCBhIHRpbWUgYnkgdGlja2luZyBcIlVzZSByZWRlc2lnbiBsYXlvdXRcIiwgYXQgd2hpY2hcbi8vIHBvaW50IGJhc2UvX3R5cG9ncmFwaHkuc2NzcyB0YWtlcyBvdmVyLiBPbmNlIG5vdGhpbmcgaXMgbGVmdCBvbiB0aGUgb2xkIHR5cGUsXG4vLyB0aGlzIGZpbGUgZ29lcy5cbi8vXG4vLyBUaGUgOm5vdCgpIG9uIHRoZSBiYXJlIGVsZW1lbnRzIGJlbG93IGlzIHdoYXQgbGV0cyB0aGUgbWVudSwgZm9vdGVyIGFuZCBiYWNrXG4vLyBsaW5rIGJlIHRoZSByZWRlc2lnbidzIG9uIGEgcGFnZSB3aG9zZSBjb250ZW50IGlzIG5vdC4gVGhvc2UgY2FycnkgdGV4dC1waGMtKlxuLy8gdXRpbGl0aWVzLCBhbmQgYSB1dGlsaXR5IGlzIG9uZSBjbGFzcyDigJQgd2hpY2ggYC5vbGQgcGAgb3V0cmFua3MsIGJlaW5nIGFcbi8vIGNsYXNzIGFuZCBhbiBlbGVtZW50LiBSYXRoZXIgdGhhbiBmaWdodCB0aGF0IHdpdGggbW9yZSBzcGVjaWZpY2l0eSwgdGhlIG9sZFxuLy8gcnVsZXMgc2ltcGx5IGRlY2xpbmUgdG8gY2xhaW0gYW55dGhpbmcgYSB1dGlsaXR5IGhhcyBhbHJlYWR5IHNwb2tlbiBmb3IuXG5cbi5vbGQge1xuICAvLyBUaGUgZ3JvdW5kIHRoZXNlIHBhZ2VzIGFsd2F5cyBhc3N1bWVkIGJ1dCBuZXZlciBkZWNsYXJlZC4gTm90aGluZyBzaG93ZWQgaXRcbiAgLy8gd2hpbGUgdGhlIG9sZCBoZWFkZXIgd2FzIHBpbm5lZCBvdmVyIGNvbnRlbnQgdGhhdCBzdGFydGVkIGF0IHRoZSB0b3Agb2YgdGhlXG4gIC8vIHdpbmRvdzsgdGhlIGJhY2sgbGluayBub3cgb3BlbnMgYSBiYW5kIG9mIGJhcmUgY2FudmFzIGFib3ZlIHRoZSBjb250ZW50LFxuICAvLyBhbmQgYmFyZSBjYW52YXMgaXMgd2hhdGV2ZXIgdGhlIHJlYWRlcidzIGJyb3dzZXIgZGVjaWRlcyDigJQgd2hpdGUgaW4gYSBsaWdodFxuICAvLyBvbmUsIG5lYXItYmxhY2sgaW4gYSBkYXJrIG9uZSwgd2hpY2ggcHV0IGRhcmsgaW5rIG9uIGEgZGFyayBmaWVsZC5cbiAgLy9cbiAgLy8gV2hpdGUgcmF0aGVyIHRoYW4gdGhlIHJlZGVzaWduJ3MgUGFwZXI6IGl0IGlzIHdoYXQgdGhlIHJlc3Qgb2YgdGhpc1xuICAvLyBzdHlsZXNoZWV0IHdhcyBkcmF3biBhZ2FpbnN0LlxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG5cbiAgaDE6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhsKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcteGwpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgaDI6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSxcbiAgaDM6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSxcbiAgaDQ6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSxcbiAgaDU6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSxcbiAgaDY6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIHA6bm90KFtjbGFzcyo9J3RleHQtcGhjLSddKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuICB9XG5cbiAgLm1haW4ge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcteGwpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuICAgIH1cblxuICAgIGgxLGgyLGgzLGg0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNlY3Rpb24tbWFyZ2luKSAvIDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgIHAge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG4gICAgICB9XG5cbiAgICAgIC8vIE1ha2UgZm9udCBzbWFsbGVyIGZvciBjb250YWN0IGFydGljbGVzIHNvIHRpdGxlcyBhbmQgbmFtZXMgY2FuIGZpdFxuICAgICAgJi5tYWluLS1jb250YWN0Lm1haW4tLWFydGljbGUge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm5vdCgubWFpbi0tY29udGFjdCkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG5cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDAgMHB4IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBoMSxcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNlY3Rpb24tbWFyZ2luKSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIC5tYWluIHAsXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tZW51LWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMzJweDtcbiAgei1pbmRleDogNTAwO1xuXG4gIHdpZHRoOiByZW0tY2FsYyg0NXB4KTtcbiAgaGVpZ2h0OiByZW0tY2FsYygzNHB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xuXG4gIC5hZG1pbi1iYXIgJiB7XG4gICAgdG9wOiAzMnB4O1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIG1peC1ibGVuZC1tb2RlOiBub3JtYWw7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgLm1lbnUtYnVyZ2VyX19iYXItLTE+c3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTVweCk7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LWJ1cmdlcl9fYmFyLS0yPnN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmU6aG92ZXIge1xuICAgICAgLm1lbnUtYnVyZ2VyX19iYXItLTE+c3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwcHgpO1xuICAgICAgfVxuXG4gICAgICAubWVudS1idXJnZXJfX2Jhci0tMj5zdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgdG9wOiAzMnB4O1xuICAgIHJpZ2h0OiA2NHB4O1xuICB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC14eGwnKSB7XG4gIC8vICAgcmlnaHQ6IGNhbGMoKChyZW0tY2FsYygzMHB4KSArIDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkvMikpO1xuICAvLyB9XG5cbiAgJl9fYmFyIHtcbiAgICAkcDogJjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQ1cHgpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTBweCk7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibGFjayk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuXG4gICAgLmFjdGl2ZSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg2MHB4KTtcbiAgICB9XG4gICAgLy8gdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzhzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgLy8gc3ZnIHtcbiAgICAvLyAgIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICAgIC8vICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzhzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC8vIH1cblxuICAgICYtLTEge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgdG9wOiByZW0tY2FsYygyM3B4KTtcbiAgICB9XG5cbiAgICAuYWN0aXZlICYge1xuICAgICAgJi0tMSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHJlbS1jYWxjKDEwcHgpKTtcbiAgICAgIH1cblxuICAgICAgJi0tMiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHJlbS1jYWxjKC0xMHB4KSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcC14eGwnKSB7XG5cbiAgICAgIC8vIC5tZW51LWJ1cmdlci5hY3RpdmUgJiB7XG5cbiAgICAgIC8vICAgJi0tMSB7XG4gICAgICAvLyAgICAgdG9wOiAzMnB4O1xuICAgICAgLy8gICB9XG5cbiAgICAgIC8vICAgJi0tMiB7XG4gICAgICAvLyAgICAgdG9wOiA1MnB4O1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG5cblxuICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYucmV2ZXJzZSB7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcblxuICAgIC5tZW51LWJ1cmdlcl9fYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuLmJhY2tncm91bmQge1xuICAmLS1kYXJrIHtcbiAgICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWxpZ2h0IHtcbiAgICBzdmcge1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6IHZhcigtLWJsYWNrKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEhlYWRlciBMb2dvXG4ubWFpbi1sb2dvIHtcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiByZW0tY2FsYyg4MHB4KTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDUwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNTNweCk7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtb25seSB7XG4gICAgdG9wOiAzNXB4O1xuICAgIGxlZnQ6IDM1cHg7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJvZHkuaG9tZSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLmFjdGl2ZS1vbmx5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA3MHB4O1xuICAgIGxlZnQ6IDYwcHg7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDkwcHgpO1xuICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xuICB9XG5cbiAgJi5vbi1tZW51IHtcblxuICAgIGJvZHkuaG9tZSAmIC5ob21lLW9ubHksXG4gICAgLmhvbWUtb25seSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC5hY3RpdmUtb25seSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0IDAuMjVzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWFkZXIgTWVudVxuLm1haW4tbWVudSB7XG4gICRwOiAmO1xuICAmX19jb250YWluZXIge1xuICAgICZfX292ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC43KTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgei1pbmRleDogNDUwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMHB4ICRtb2JpbGUtbWFyZ2luIDMwcHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG4gICAgJl9fb3ZlcmxheS1iZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogNDAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgIHRvcDogLTEwMHZoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgI3skcH1fX2NvbnRhaW5lcl9fb3ZlcmxheSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cbiAgICAjeyRwfV9fY29udGFpbmVyX19vdmVybGF5LWJnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlci1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC5zaG93LWdyaWQtY29udGFpbmVyICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICZfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNTBweCAwIDApO1xuXG4gICAgLnNob3ctZ3JpZC1jb250YWluZXIgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1MHB4IDMwcHggMCk7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg3NXB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgc3ViIHtcbiAgICAgIHRvcDogLTAuMjVlbTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tLXR3by1saW5lIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gICZfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSxcbiAgJl9fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSB7XG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBGaXggZm9yIGhlYWRsZXNzXG5ib2R5LmhlYWRsZXNzIHtcbiAgLm1lbnUtYnVyZ2VyIHtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHZhcigtLWJsYWNrKTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogdmFyKC0td2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYWluLWxvZ28ge1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogdmFyKC0tYmxhY2spO1xuICAgIH1cblxuICAgICYub24tbWVudSB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogdmFyKC0td2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cbiAgLm1haW4tbWVudV9fY29udGFpbmVyX19vdmVybGF5IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNXB4IDAgNTBweCA1MCUpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTBweCk7XG4gIH1cblxuICAubWFpbi1tZW51X19jb250YWluZXIgLmZpbHRlci1tZW51LWl0ZW0sXG4gIC5tYWluLW1lbnVfX2l0ZW0ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAubWFpbi1tZW51X19jb250YWluZXIgLmZpbHRlci1tZW51LWl0ZW0sXG4gIC5tYWluLW1lbnVfX2l0ZW0ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgfVxuXG4gIC5tYWluLW1lbnVfX2l0ZW0tLXR3by1saW5lIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLmdyaWQtZGVza3RvcCB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgei1pbmRleDogMTIwMDtcbiAgICBtYXJnaW46IDAgJG1vYmlsZS1tYXJnaW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNzc3O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM3Nzc7XG4gIH1cblxuICAuZ3JpZC1kZXNrdG9wLm9mZiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5ncmlkLWRlc2t0b3BfX2NvbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1sJykge1xuXG4gIC5tYWluLW1lbnVfX2NvbnRhaW5lciAuZmlsdGVyLW1lbnUtaXRlbSxcbiAgLm1haW4tbWVudV9faXRlbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICB9XG59XG4iLCIvLyBUaGUgcmVkZXNpZ24ncyBtZW51OiBhIHRyYW5zbHVjZW50IHBpbGwgcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi5cbi8vXG4vLyBJdCByZXBsYWNlcyB0aGUgYnVyZ2VyIGFuZCBpdHMgZnVsbC1zY3JlZW4gb3ZlcmxheS4gRmlsdGVyaW5nIHN0aWxsIHdvcmtzIHRoZVxuLy8gc2FtZSB3YXkg4oCUIHRoZSBpdGVtcyBjYXJyeSB0aGUgc2FtZSBkYXRhLWdyaWQtZmlsdGVyIGF0dHJpYnV0ZXMgdGhlIG9sZCBtZW51XG4vLyB1c2VkLCBzbyB0aGUgZ3JpZCBzY3JpcHQgbmVlZHMgbm8gY2hhbmdlcy5cblxuLy8gcGhjLWxlbiByYXRoZXIgdGhhbiByZW0tY2FsYzogdGhlIGJhciBpcyBmaXhlZCB0byB0aGUgd2luZG93IGFuZCBzaXRzIG9uXG4vLyBldmVyeSBwYWdlLCBpbmNsdWRpbmcgb25lcyB3aG9zZSByb290IGZvbnQgc2l6ZSBpcyB0aWVkIHRvIHRoZSB2aWV3cG9ydCwgYW5kXG4vLyBpdCB3b3VsZCBiZSBwbGFpbmx5IHdyb25nIGZvciBpdCB0byBjaGFuZ2Ugc2l6ZSBhcyB0aGUgcmVhZGVyIG1vdmVzIGJldHdlZW5cbi8vIHRoZW0uIHV0aWxzL191bml0LnNjc3MgZXhwbGFpbnMgd2hhdCAtLXBoYy1yb290IGlzIGRvaW5nLlxuJHBoYy1tZW51LWhlaWdodDogcGhjLWxlbig3MHB4KTtcbiRwaGMtbWVudS1pbnNldDogcGhjLWxlbigyMHB4KTtcbiRwaGMtbWVudS1wYWRkaW5nOiBwaGMtbGVuKDE2cHgpO1xuJHBoYy1tZW51LWljb246IHBoYy1sZW4oNDBweCk7XG4kcGhjLW1lbnUtbG9nbzogcGhjLWxlbigzMnB4KTtcbiRwaGMtbWVudS1yYWRpdXM6IHBoYy1sZW4oMzVweCk7ICAgLy8gaGFsZiB0aGUgYmFyIGhlaWdodDogYSBwaWxsIHdoZW4gd2lkZSwgYSBjaXJjbGUgd2hlbiBzcXVhcmVcblxuLy8gU2hvcnRlciBvbiBhIHBob25lLiBUaGUgY29tcG9uZW50J3MgTW9iaWxlIHZhcmlhbnQgaXMgOTAsIGJ1dCB0aGF0IGlzIGZvciB0aGVcbi8vIHR3byByb3dzIG9mIGNhdGVnb3JpZXMgaXQgd2FzIGRyYXduIHdpdGgg4oCUIG9uZSByb3cgZG9lcyBub3QgbmVlZCB0aGUgaGVpZ2h0LFxuLy8gYW5kIGEgYmFyIHRoaXMgZGVlcCBhY3Jvc3MgdGhlIGJvdHRvbSBvZiBhIHBob25lIHNjcmVlbiB0YWtlcyBhIGxvdCBvZiB3aGF0XG4vLyB0aGVyZSBpcyB0byBsb29rIGF0LiBSYWRpdXMgc3RheXMgaGFsZiBvZiBpdCwgc28gaXQgaXMgc3RpbGwgYSBwaWxsLlxuJHBoYy1tZW51LWhlaWdodC1tb2JpbGU6IHBoYy1sZW4oNTJweCk7XG4kcGhjLW1lbnUtcmFkaXVzLW1vYmlsZTogcGhjLWxlbigyNnB4KTtcblxuLnBoYy1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAkcGhjLW1lbnUtaW5zZXQ7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBDZW50cmVkLiBSaWdodC1hbGlnbmluZyBpdCBtYWRlIHRoZSBjb2xsYXBzZSBwaXZvdCBvbiB0aGUgcmlnaHQgZWRnZSwgYnV0XG4gIC8vIG9uY2UgdGhlIHZpZXdwb3J0IGlzIHdpZGVyIHRoYW4gdGhlIDE0NDAgY2FwIGl0IGxlZnQgdW5ldmVuIG1hcmdpbnMg4oCUIDMycHhcbiAgLy8gb25lIHNpZGUgYWdhaW5zdCAyMHB4IHRoZSBvdGhlciDigJQgd2hpY2ggaXMgZmFyIG1vcmUgbm90aWNlYWJsZSBhdCByZXN0IHRoYW5cbiAgLy8gdGhlIHNsaWRlIGlzIGluIG1vdGlvbi4gUHJlc2VudGF0aW9uIG1vZGUgbW92ZXMgaXQgcmlnaHQgb24gaXRzIG93bi5cbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgJHBoYy1tZW51LWluc2V0O1xuXG4gIC8vIFRoZSBiYXIgaXMgY2VudHJlZCBpbnNpZGUgYSBmdWxsLXdpZHRoIHN0cmlwLCBzbyB0aGUgZW1wdHkgc3BhY2UgZWl0aGVyXG4gIC8vIHNpZGUgbXVzdCBub3Qgc3dhbGxvdyBjbGlja3MgbWVhbnQgZm9yIHRoZSBwYWdlIGJlaGluZCBpdC5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gVGhlIGdsYXNzIGNvbnRhaW5lci4gSXQgaG9sZHMgYSBzaW5nbGUgY2hpbGQsIHdoaWNoIGlzIHdoYXQgbGlxdWlkLXdlYlxuICAvLyBuZWVkcyBpbiBvcmRlciB0byB3cmFwIGl0LCBzbyB0aGUgcm93IGl0c2VsZiBsaXZlcyBvbmUgbGV2ZWwgaW4uXG4gICZfX2JhciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tcGhjLXBhZ2Utd2lkdGgpO1xuICAgIGhlaWdodDogJHBoYy1tZW51LWhlaWdodDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gSGFsZiB0aGUgaGVpZ2h0LCBzbyB0aGUgc2FtZSB2YWx1ZSBpcyBhIHBpbGwgd2hpbGUgdGhlIGJhciBpcyB3aWRlIGFuZCBhXG4gICAgLy8gdHJ1ZSBjaXJjbGUgb25jZSBpdCBpcyBzcXVhcmUuIE5vdGhpbmcgdG8gYW5pbWF0ZSwgd2hpY2ggaXMgdGhlIHBvaW50OlxuICAgIC8vIGludGVycG9sYXRpbmcgYmV0d2VlbiBhIGxlbmd0aCBhbmQgNTAlIGlzIHdoYXQgdG9yZSB0aGUgY29ybmVycyBvbiB0aGVcbiAgICAvLyB3YXkgaW4gYW5kIG91dC5cbiAgICBib3JkZXItcmFkaXVzOiAkcGhjLW1lbnUtcmFkaXVzO1xuXG4gICAgLy8gdHJhbnNmb3JtIHJhdGhlciB0aGFuIGEgY2hhbmdlIG9mIGFsaWdubWVudCwgc28gdGhlIG1vdmUgdG8gdGhlIGNvcm5lclxuICAgIC8vIHR3ZWVucyB3aXRoIHRoZSByZXNpemUgaW5zdGVhZCBvZiBqdW1waW5nIGZpcnN0LiBtZW51LmpzIG1lYXN1cmVzIHRoZVxuICAgIC8vIGRpc3RhbmNlIGludG8gLS1waGMtbWVudS1zaGlmdC5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlLCBtYXgtd2lkdGggMC40cyBlYXNlLCB0cmFuc2Zvcm0gMC40cyBlYXNlO1xuXG4gICAgLy8gTm8gYmFja2Ryb3AtZmlsdGVyIGFuZCBubyBiYWNrZ3JvdW5kIGhlcmUuIFRoZSBjb21wb25lbnQgcGFpbnRzIGl0cyBvd25cbiAgICAvLyBncm91bmQgZnJvbSBpdHMgdGludCBhdHRyaWJ1dGUgYW5kIGZhbGxzIGJhY2sgdG8gaXRzIG93biBibHVyIHdoZXJlIHRoZVxuICAgIC8vIHJlZnJhY3Rpb24gY2Fubm90IHJ1biwgc28gYW55dGhpbmcgc2V0IGhlcmUgd291bGQgc2l0IG9uIHRvcCBvZiB0aGF0IGFuZFxuICAgIC8vIGZsYXR0ZW4gaXQuXG4gIH1cblxuICAvLyBUaGUgV2ViR0wgZ2xhc3MsIHdoZW4gdGhhdCBpcyB0aGUgb25lIGluIHVzZSDigJQgc2VlIFBIQ19NRU5VX0dMQVNTLiBJdCBmaWxsc1xuICAvLyB0aGUgYmFyLCB1bmRlciB0aGUgcm93IGFuZCBvdmVyIHRoZSBncm91bmQgdGhlIHN0eWxlc2hlZXQgcGFpbnRzLCB3aGljaCBpc1xuICAvLyB3aGF0IHNob3dzIHVudGlsIGl0IGhhcyBkcmF3biBpdHMgZmlyc3QgZnJhbWUgYW5kIGlmIGl0IG5ldmVyIGRvZXMuXG4gIC8vXG4gIC8vIEJlaGluZCBhIGNsYXNzIHJhdGhlciB0aGFuIGEgcGxhaW4gcnVsZTogdGhlIGNsYXNzIG9ubHkgZ29lcyBvbiBvbmNlIHRoZVxuICAvLyBjb250ZXh0IGlzIHVwIGFuZCB0aGUgcHJvZ3JhbSBoYXMgbGlua2VkLCBzbyBhIGJyb3dzZXIgd2l0aG91dCBXZWJHTCBpc1xuICAvLyBsZWZ0IHdpdGggdGhlIGJhciBpdCB3b3VsZCBoYXZlIGhhZCBhbnl3YXkuXG4gIC5waGMtZ2xhc3MtY2FudmFzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSByb3cgaXRzZWxmLiBBYm92ZSB0aGUgbGl0IGVkZ2UgYW5kIHdoYXRldmVyIHRoZSBnbGFzcyBsYXlzIGRvd24uXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAkcGhjLW1lbnUtcGFkZGluZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAkcGhjLW1lbnUtcGFkZGluZztcbiAgfVxuXG4gIC8vIE1hc2tlZCByYXRoZXIgdGhhbiBhbiA8aW1nPiBzbyB0aGUgbWFyayB0YWtlcyBpdHMgY29sb3VyIGZyb20gdGhlIGJhciBhbmRcbiAgLy8gZm9sbG93cyBicmlnaHQgYW5kIGRhcmsgd2l0aG91dCBhIHNlY29uZCBmaWxlLlxuICAmX19sb2dvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogJHBoYy1tZW51LWxvZ287XG4gICAgaGVpZ2h0OiAkcGhjLW1lbnUtbG9nbztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waGMtbWVudS1mZyk7XG4gICAgbWFzazogdXJsKCcuLi9pbWFnZXMvaC1sb2dvLnN2ZycpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICAgIC13ZWJraXQtbWFzazogdXJsKCcuLi9pbWFnZXMvaC1sb2dvLnN2ZycpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMCAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBjb2xvcjogdmFyKC0tcGhjLW1lbnUtZmcpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXBoYy1tZW51LWZnLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGhjLW1lbnUtZmctYWN0aXZlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19saW5rZWRpbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6ICRwaGMtbWVudS1pY29uO1xuICAgIGhlaWdodDogJHBoYy1tZW51LWljb247XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIHR3byBnbGFzc2VzIHRoYXQgYXJlIG5vdCB0aGUgY29tcG9uZW50IGdldCB0aGVpciBncm91bmQgZnJvbSBoZXJlIHJhdGhlclxuLy8gdGhhbiBmcm9tIGEgc2hhZG93IHRyZWUsIHNpbmNlIHRoZXkgaGF2ZSBub25lLiBUaGUgcGxhaW4gb25lIGtlZXBzIGl0OyB0aGVcbi8vIFdlYkdMIG9uZSBkcmF3cyBpdHMgb3duIHJlZnJhY3Rpb24gb3ZlciB0aGUgdG9wIG9mIGl0LCBhbmQgdGhlIGdyb3VuZCBpcyB3aGF0XG4vLyBzdGFuZHMgaW4gdW50aWwgdGhlIGZpcnN0IGZyYW1lIGxhbmRzLlxuLnBoYy1tZW51W2RhdGEtZ2xhc3M9XCJ3ZWJnbFwiXSxcbi5waGMtbWVudVtkYXRhLWdsYXNzPVwicGxhaW5cIl0ge1xuICAucGhjLW1lbnVfX2JhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGhjLW1lbnUtYmctZmFsbGJhY2spO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICBpbnNldCAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSxcbiAgICAgIGluc2V0IC0xcHggLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIH1cbn1cblxuLy8gT25jZSB0aGUgc2hhZGVyIGlzIHJ1bm5pbmcsIGl0cyBvd24gdGludCBpcyBvbiB0b3Agb2YgdGhhdCBncm91bmQgYW5kIHRoZSB0d29cbi8vIHdvdWxkIGNvbXBvdW5kLiBUaGUgZWRnZSBzdGF5czogdGhlIHNoYWRlciBkcmF3cyBubyByaW0gYXQgdGhlIGludGVuc2l0aWVzXG4vLyB0aGlzIGlzIHNldCB0bywgYW5kIHRoZSBiYXIgc3RpbGwgd2FudHMgb25lLlxuLy9cbi8vIFRoZSBhdHRyaWJ1dGUgaXMgY2FycmllZCBoZXJlIHRvbywgYW5kIG5vdCBmb3Igc2hvdyDigJQgW2RhdGEtZ2xhc3NdIGNvdW50cyBhc1xuLy8gYSBjbGFzcywgc28gdGhlIHJ1bGUgYWJvdmUgaXMgdGhyZWUgb2YgdGhlbSBhbmQgYSBiYXJlIC5waGMtbWVudS0tZ2xhc3MtcmVhZHlcbi8vIHdvdWxkIGJlIHR3byBhbmQgbG9zZS5cbi5waGMtbWVudVtkYXRhLWdsYXNzPVwid2ViZ2xcIl0ucGhjLW1lbnUtLWdsYXNzLXJlYWR5IC5waGMtbWVudV9fYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFRoZSBmYWxsYmFjayBiYXIg4oCUIGl0cyBncm91bmQgYW5kIGl0cyBlZGdlIOKAlCBpcyBpbiBtZW51LmpzLCBpbiB0aGUgc3R5bGVzaGVldFxuLy8gdGhhdCBnZXRzIGluamVjdGVkIGludG8gdGhlIGNvbXBvbmVudCdzIHNoYWRvdyB0cmVlLlxuLy9cbi8vIEl0IHdhcyBicmllZmx5IGhlcmUgaW5zdGVhZCwgYmVoaW5kIEBzdXBwb3J0cyBub3QgKGJhY2tkcm9wLWZpbHRlcjogdXJsKOKApikpLFxuLy8gb24gdGhlIHJlYXNvbmluZyB0aGF0IGEgcnVsZSBpbiB0aGUgc3R5bGVzaGVldCBkb2VzIG5vdCBkZXBlbmQgb24gdGhlXG4vLyBjb21wb25lbnQgaGF2aW5nIHJ1bi4gVGhhdCBkb2VzIG5vdCB3b3JrOiBAc3VwcG9ydHMgYXNrcyB3aGV0aGVyIGEgdmFsdWVcbi8vIHBhcnNlcywgbm90IHdoZXRoZXIgaXQgZG9lcyBhbnl0aGluZywgYW5kIGJvdGggRmlyZWZveCBhbmQgU2FmYXJpIHBhcnNlXG4vLyB1cmwoKSBwZXJmZWN0bHkgd2VsbCBhcyBhIGZpbHRlciByZWZlcmVuY2Ugd2hpbGUgcmVuZGVyaW5nIG5vdGhpbmcgZnJvbSBpdC5cbi8vIEJvdGggYW5zd2VyZWQgXCJzdXBwb3J0ZWRcIiBhbmQgc2tpcHBlZCB0aGUgYmxvY2ssIHdoaWNoIGlzIHdoeSBuZWl0aGVyIG9mIHRoZW1cbi8vIGhhZCBhIGdyb3VuZC4gT25seSBqYXZhc2NyaXB0IGNhbiB0ZWxsIHRoZSBkaWZmZXJlbmNlLCBhbmQgdGhlIGNvbXBvbmVudFxuLy8gYWxyZWFkeSBkb2VzIOKAlCBzZWUgaXRzIGRldGVjdFN1cHBvcnQsIGFuZCAuZmFsbGJhY2stYmx1ci5cblxuLy8gUHJlc2VudGF0aW9uIG1vZGU6IHRoZSBiYXIgY29sbGFwc2VzIHRvIGEgY2lyY2xlIGluIHRoZSBib3R0b20gcmlnaHQgc28gdGhlXG4vLyB3b3JrIGNhbiBiZSBzaG93biB3aXRob3V0IGl0IHJ1bm5pbmcgYWNyb3NzIHRoZSBwYWdlLiBQcmVzc2luZyB0aGUgbG9nbyBhZ2FpblxuLy8g4oCUIG9yIEVzY2FwZSDigJQgYnJpbmdzIGl0IGJhY2suXG4ucGhjLW1lbnUtLW1pbiB7XG4gIC5waGMtbWVudV9fYmFyIHtcbiAgICB3aWR0aDogJHBoYy1tZW51LWhlaWdodDtcbiAgICBtYXgtd2lkdGg6ICRwaGMtbWVudS1oZWlnaHQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXBoYy1tZW51LXNoaWZ0LCAwcHgpKTtcblxuICAgIC8vIE5vIGJvcmRlci1yYWRpdXMgaGVyZSBvbiBwdXJwb3NlLiBUaGUgYmFyIGFscmVhZHkgY2FycmllcyBoYWxmIGl0cyBvd25cbiAgICAvLyBoZWlnaHQsIHdoaWNoIGlzIGEgY2lyY2xlIG9uY2UgaXQgaXMgc3F1YXJlLCBzbyB0aGUgY29ybmVycyBzdGF5IHJpZ2h0XG4gICAgLy8gdGhlIHdob2xlIHdheSB0aHJvdWdoIGluc3RlYWQgb2YgYmVpbmcgaW50ZXJwb2xhdGVkLlxuICB9XG5cbiAgLnBoYy1tZW51X19pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIEhpZGRlbiByYXRoZXIgdGhhbiByZW1vdmVkLCBzbyB0aGUgYmFyIGtlZXBzIGl0cyBsYXlvdXQgYW5kIHRoZSBjb2xsYXBzZVxuICAvLyBzdGF5cyBhIGNoYW5nZSBvZiBzaGFwZSByYXRoZXIgdGhhbiBhIHJlYnVpbGQuXG4gIC5waGMtbWVudV9faXRlbSxcbiAgLnBoYy1tZW51X19saW5rZWRpbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBUaGUgYmFjayBidXR0b246IHRoZSBzYW1lIGJhciwgcGVybWFuZW50bHkgaW4gdGhlIHNoYXBlIHByZXNlbnRhdGlvbiBtb2RlXG4vLyBjb2xsYXBzZXMgaXQgdG8uIEV2ZXJ5IHBhZ2UgYnV0IHRoZSBwb3J0Zm9saW8gY2FycmllcyB0aGlzIGluc3RlYWQgb2YgdGhlXG4vLyBjYXRlZ29yaWVzLCBzbyB0aGUgd2F5IGJhY2sgc2l0cyBleGFjdGx5IHdoZXJlIHRoZSBiYXIgYSByZWFkZXIgY2FtZSBmcm9tXG4vLyB3ZW50IOKAlCBzZWUgaW5jbHVkZXMvaW5jbHVkZS1iYWNrLWxpbmsucGhwLlxuLy9cbi8vIE5vdCAucGhjLW1lbnUtLW1pbiBpdHNlbGYsIGRlbGliZXJhdGVseS4gVGhhdCBvbmUgc3RhcnRzIGZyb20gYW4gb3BlbiBiYXIgYW5kXG4vLyByZWFjaGVzIHRoZSBjb3JuZXIgd2l0aCBhIHRyYW5zZm9ybSBqYXZhc2NyaXB0IG1lYXN1cmVzLCB3aGljaCB3b3VsZCBsZWF2ZVxuLy8gdGhpcyBzaXR0aW5nIGluIHRoZSBtaWRkbGUgb2YgdGhlIHdpbmRvdyB1bnRpbCB0aGUgc2NyaXB0IHJhbiBhbmQgdGhlbiBqdW1wLlxuLy8gVGhpcyBpcyBuZXZlciBhbnl0aGluZyBlbHNlLCBzbyBpdCBpcyBzaW1wbHkgYWxpZ25lZCB0aGVyZSDigJQgYW5kIGl0IGxhbmRzIG9uXG4vLyB0aGUgc2FtZSBzcG90LCBiZWNhdXNlIHRoZSBzaGlmdCB0aGF0IHJ1bGUgYW5pbWF0ZXMgaXMgbWVhc3VyZWQgdG8gdGhlXG4vLyB3aW5kb3cncyBvd24gZWRnZSBsZXNzIHRoZSBpbnNldCB0aGlzIHBhZGRpbmcgYWxyZWFkeSBob2xkcy5cbi5waGMtbWVudS0tYmFjayB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgLnBoYy1tZW51X19iYXIge1xuICAgIC8vIFNxdWFyZSBmcm9tIG9uZSBtZWFzdXJlbWVudCwgbm90IHR3by4gVGhlIGhlaWdodCBpcyBhbHJlYWR5IHNldCBvblxuICAgIC8vIC5waGMtbWVudV9fYmFyIHBlciBicmVha3BvaW50IGFuZCB0aGUgd2lkdGggZm9sbG93cyBpdCBoZXJlLCBzbyB0aGUgcGFpclxuICAgIC8vIGNhbm5vdCBmYWxsIG91dCBvZiBzdGVwIOKAlCB3aGljaCBpcyB3aGF0IHN0b3BwZWQgaXQgYmVpbmcgcm91bmQuIERlY2xhcmVkXG4gICAgLy8gc2VwYXJhdGVseSB0aGV5IGNhbWUgZnJvbSB0d28gZGlmZmVyZW50IHJ1bGVzIHN3aXRjaGluZyBhdCB0d28gZGlmZmVyZW50XG4gICAgLy8gbW9tZW50cywgYW5kIGEgc2luZ2xlIHJlY2FsY3VsYXRpb24gYmV0d2VlbiB0aGUgdHdvIGxlZnQgdGhlIGJhciAzMyB3aWRlXG4gICAgLy8gYW5kIDcwIHRhbGwuIFRoZSBicm93c2VyIHRoZW4gc2NhbGVkIHRoZSAzNXB4IHJhZGl1cyBkb3duIHRvIGZpdCB0aGVcbiAgICAvLyBuYXJyb3cgc2lkZSwgYW5kIGEgY2lyY2xlIG9wZW5lZCBvdXQgaW50byBhIHN0YWRpdW0uXG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcblxuICAgIC8vIEEgcGVyY2VudGFnZSByYXRoZXIgdGhhbiBoYWxmIHRoZSBoZWlnaHQgaW4gcGl4ZWxzLiBBIHBlcmNlbnRhZ2UgaXNcbiAgICAvLyBhbHdheXMgaGFsZiBvZiB3aGF0ZXZlciB0aGUgYm94IHR1cm5zIG91dCB0byBiZSwgc28gaXQgY2Fubm90IGJlXG4gICAgLy8gb3V0LXNjYWxlZCBieSBpdHMgb3duIGJveCB0aGUgd2F5IGEgbGVuZ3RoIGNhbjogcm91bmQgYXQgZXZlcnkgc2l6ZSwgYW5kXG4gICAgLy8gc3RpbGwgcm91bmQgaWYgdGhlIHJhdGlvIGFib3ZlIGlzIGV2ZXIgb3ZlcnJ1bGVkLlxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIC5waGMtbWVudV9faW5uZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gVGhlIGFycm93LiBNYXNrZWQgcmF0aGVyIHRoYW4gYW4gPGltZz4sIGxpa2UgdGhlIG1hcmsgb24gdGhlIG1haW4gYmFyLCBzbyBpdFxuLy8gdGFrZXMgdGhlIGJhcidzIG93biBpbmsgYW5kIGZvbGxvd3MgYnJpZ2h0IGFuZCBkYXJrIHdpdGhvdXQgYSBzZWNvbmQgZmlsZS5cbi8vXG4vLyA0OCUgc3F1YXJlOiB0aGUgZGVzaWduIGRyYXdzIGEgNDMuMiBnbHlwaCBpbnNpZGUgYSA5MCBjaXJjbGUsIGFuZCBhcyBhXG4vLyBwcm9wb3J0aW9uIGl0IHN0YXlzIHJpZ2h0IHdoaWNoZXZlciBvZiB0aGUgdHdvIHNpemVzIHRoZSBiYXIgaXMgYXQuXG4ucGhjLW1lbnVfX2JhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDQ4JTtcbiAgaGVpZ2h0OiA0OCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBoYy1tZW51LWZnKTtcbiAgbWFzazogdXJsKCcuLi9pbWFnZXMvYmFjay1hcnJvdy5zdmcnKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrOiB1cmwoJy4uL2ltYWdlcy9iYWNrLWFycm93LnN2ZycpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQ7XG5cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBoYy1tZW51LWZnLWFjdGl2ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5waGMtbWVudV9fYmFjayB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBPbiBhIHBob25lIHRoZSBjYXRlZ29yaWVzIGdldCB0aGUgYmFyIHRvIHRoZW1zZWx2ZXMsIG9uIG9uZSByb3cuXG4vL1xuLy8gVGhlIG1hcmsgYW5kIHRoZSBMaW5rZWRJbiBsaW5rIGFyZSB0aGUgdHdvIHRoaW5ncyB0aGF0IGNhbiBnbzogb25lIGlzIGEgbGlua1xuLy8gaG9tZSB0aGF0IHRoZSBjYXRlZ29yaWVzIGFscmVhZHkgb2ZmZXIsIHRoZSBvdGhlciBpcyByZXBlYXRlZCBpbiB0aGUgZm9vdGVyLlxuLy8gS2VlcGluZyB0aGVtIHdhcyB3aGF0IHB1c2hlZCB0aGUgZmlsdGVycyBvbnRvIGEgc2Vjb25kIGxpbmUsIGFuZCBhIGJhciB0d29cbi8vIHJvd3MgZGVlcCBvdmVyIHRoZSBib3R0b20gb2YgYSBwaG9uZSBzY3JlZW4gaXMgYSBsb3Qgb2YgdGhlIHBhZ2UuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgLnBoYy1tZW51IHtcbiAgICAvLyBUaGUgc2FtZSBtYXJnaW5zIHRoZSB0YWJsZXQgYmFyIGhhcy4gVGhlIGluc2V0IGlzIG1lYXN1cmVkIGluXG4gICAgLy8gLS1waGMtcm9vdCwgd2hpY2ggdGhlIG1vYmlsZSBzY2FsZSBzaHJpbmtzIGFsb25nIHdpdGggZXZlcnl0aGluZyBlbHNlIOKAlFxuICAgIC8vIGJ1dCB0aGVzZSB0d28gYXJlIHRoZSBiYXIncyBjbGVhcmFuY2UgZnJvbSB0aGUgd2luZG93J3Mgb3duIGVkZ2VzLCBhbmRcbiAgICAvLyB0aGUgd2luZG93IGRvZXMgbm90IHNocmluayB3aXRoIHRoZSBkcmF3aW5nLiBGbGF0IHBpeGVscywgbWF0Y2hpbmcgd2hhdFxuICAgIC8vIHBoYy1sZW4oMjBweCkgcmVzb2x2ZXMgdG8gYXQgdGhlIHRhYmxldCByb290LlxuICAgIGJvdHRvbTogcmVtLWNhbGMoMjBweCk7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxMHB4KTtcblxuICAgICZfX2xvZ28sXG4gICAgJl9fbGlua2VkaW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19iYXIge1xuICAgICAgLy8gaGVpZ2h0OiAkcGhjLW1lbnUtaGVpZ2h0LW1vYmlsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwaGMtbWVudS1yYWRpdXMtbW9iaWxlO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgIGdhcDogcGhjLWxlbig4cHgpO1xuICAgICAgcGFkZGluZzogMCBwaGMtbGVuKDhweCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAvLyBGcm9tIHRoZSB3aWR0aCBvZiB0aGUgbmFtZSBvdXR3YXJkcywgc2hhcmluZyB3aGF0IGlzIGxlZnQgb3ZlciDigJRcbiAgICAgIC8vIHJhdGhlciB0aGFuIGFuIGVxdWFsIHNoYXJlIGVhY2gsIHdoaWNoIGdhdmUgXCJBbGxcIiB0aGUgc2FtZSByb29tIGFzXG4gICAgICAvLyBcIkludGVyYWN0aXZlXCIgYW5kIGN1dCB0aGUgbG9uZyBvbmVzIG9mZi5cbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAvLyBBbmQgdGhleSBuZXZlciB3cmFwOiBhIG5hbWUgYnJlYWtpbmcgaW4gdHdvIGlzIHdoYXQgYSBzZWNvbmQgcm93IGxvb2tzXG4gICAgICAvLyBsaWtlIGZyb20gdGhlIG91dHNpZGUsIHdoaWNoIGlzIHRoZSB0aGluZyBiZWluZyBmaXhlZCBoZXJlLiBJZiB0aGVcbiAgICAgIC8vIG5hbWVzIG91dGdyb3cgdGhlIHJvdywgdGhlIHNpemUgYmVsb3cgaXMgdGhlIGNvbnRyb2wgZm9yIGl0LlxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgLy8gV2hhdCBoYXBwZW5zIHdoZW4gdGhhdCBjb250cm9sIGlzIHNldCB0b28gaGlnaCwgb3IgdGhlIG5hbWVzIGFyZVxuICAgICAgLy8gbG9uZ2VyIHRoYW4gYW55IHNldHRpbmcgY2FuIHNhdmUuIFdpdGhvdXQgdGhlc2UgdGhlIHRleHQga2VlcHMgaXRzXG4gICAgICAvLyBmdWxsIHdpZHRoIHdoaWxlIHRoZSBib3ggc2hyaW5rcyBhbmQgcnVucyBpbnRvIGl0cyBuZWlnaGJvdXJzOyB3aXRoXG4gICAgICAvLyB0aGVtIGl0IGVuZHMgaW4gYW4gZWxsaXBzaXMsIHdoaWNoIHJlYWRzIGFzIFwidG9vIGJpZ1wiIHJhdGhlciB0aGFuIGFzXG4gICAgICAvLyBhIHJlbmRlcmluZyBmYXVsdC5cbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgLy8gVGhlIHdob2xlIGRlcHRoIG9mIHRoZSBiYXIgaXMgdGhlIHRhcmdldCwgbm90IHRoZSBsaW5lIG9mIHRleHQuIEFcbiAgICAgIC8vIHR3ZWx2ZSBwaXhlbCB3b3JkIGlzIGEgc21hbGwgdGhpbmcgdG8gaGl0IHdpdGggYSB0aHVtYiwgYW5kIHRoZSBiYXJcbiAgICAgIC8vIGdldHRpbmcgc2hvcnRlciB3b3VsZCBvdGhlcndpc2UgbWFrZSBpdCBzbWFsbGVyIGFnYWluLlxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJlc2VudGF0aW9uIG1vZGUgY2Fubm90IGJlIHJlYWNoZWQgZnJvbSBhIHBob25lIOKAlCB0aGUgbWFyayB0aGF0IHRvZ2dsZXMgaXRcbiAgLy8gaXMgaGlkZGVuIGFib3ZlIOKAlCBidXQgdGhlIHdpbmRvdyBjYW4gYmUgbmFycm93ZWQgd2hpbGUgaXQgaXMgb24sIGFuZCB0aGVuXG4gIC8vIHRoZSBjaXJjbGUgaGFzIHRvIGJlIGEgY2lyY2xlIGF0IHRoaXMgaGVpZ2h0IHJhdGhlciB0aGFuIHRoZSBvdGhlciBvbmUuXG4gIC8vXG4gIC8vIFRoZSBiYWNrIGJ1dHRvbiBuZWVkcyBub3RoaW5nIGhlcmU6IGl0cyB3aWR0aCBpcyBpdHMgb3duIGhlaWdodCB3aGF0ZXZlclxuICAvLyB0aGF0IGhlaWdodCBpcy4gVGhpcyBvbmUga2VlcHMgYSB3aWR0aCBvZiBpdHMgb3duIGJlY2F1c2UgY29sbGFwc2luZ1xuICAvLyBhbmltYXRlcyBpdCwgYW5kIHRoZXJlIGlzIG5vdGhpbmcgdG8gdHdlZW4gZnJvbSBpZiBpdCBpcyBkZXJpdmVkLlxuICAucGhjLW1lbnUtLW1pbiAucGhjLW1lbnVfX2JhciB7XG4gICAgd2lkdGg6ICRwaGMtbWVudS1oZWlnaHQtbW9iaWxlO1xuICAgIG1heC13aWR0aDogJHBoYy1tZW51LWhlaWdodC1tb2JpbGU7XG4gIH1cblxuICAvLyBUd28gY2xhc3NlcyBvbiBwdXJwb3NlLiBUaGUgaXRlbXMgY2FycnkgLnRleHQtcGhjLXN0YW5kYXJkLCBhbmQgYSB1dGlsaXR5XG4gIC8vIGlzIGEgc2luZ2xlIGNsYXNzIGltcG9ydGVkIGFmdGVyIHRoaXMgZmlsZSDigJQgc28gYSBzaW5nbGUgY2xhc3MgaGVyZSB3b3VsZFxuICAvLyBsb3NlIHRvIGl0LiBUaGlzIGlzIHRoZSBvbmUgcGxhY2UgdGhlIHV0aWxpdHkgaXMgZGVsaWJlcmF0ZWx5IG92ZXJydWxlZDpcbiAgLy8gdGhlIHNpemUgaGFzIHRvIGFuc3dlciB0byB0aGUgd2lkdGggb2YgYSBwaG9uZSBhbmQgdG8gbmFtZXMgdGhlIGNsaWVudCBjYW5cbiAgLy8gY2hhbmdlLCB3aGljaCBubyBmaXhlZCB0b2tlbiBjYW4uXG4gIC5waGMtbWVudSAucGhjLW1lbnVfX2l0ZW0ge1xuICAgIC8vIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1waGMtbWVudS1pdGVtLXNpemUsIDEyKSAvIDE2ICogdmFyKC0tcGhjLXJvb3QpKTtcblxuICAgIC8vIEEgcmF0aW8gcmF0aGVyIHRoYW4gdGhlIHRva2VuJ3MgZml4ZWQgbGluZSwgd2hpY2ggd2FzIHNldCBhZ2FpbnN0IDIycHhcbiAgICAvLyBhbmQgd291bGQgc2l0IHRoZSB0ZXh0IG9mZi1jZW50cmUgb25jZSBpdCBpcyBzbWFsbGVyIHRoYW4gdGhhdC5cbiAgICAvLyBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spO1xuICBwYWRkaW5nOiByZW0tY2FsYyg1MHB4IDMycHggMzJweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwcHggNDVweCAzMnB4KTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcblxuICAgICZfX2ltZyB7XG4gICAgICBtYXgtd2lkdGg6IDdyZW07XG4gICAgfVxuXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3d5c2l3eWcge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0cHgpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMycHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ1cHgpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4NXB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRoZSByZWRlc2lnbidzIGZvb3RlciwgZnJvbSB0aGUgTmV3Rm9vdGVycyBjb21wb25lbnQgb24gdGhlIFBvaW50cyBwYWdlOlxuLy8gb25lIGNvbHVtbiwgZXZlcnl0aGluZyByYW5nZWQgcmlnaHQg4oCUIHRoZSBuYW1lIHNldCBpbiB0eXBlIHdoZXJlIHRoZSBtYXNrZWRcbi8vIEggZ2x5cGggdXNlZCB0byBiZSwgYSBoZWF2eSBzbGFiIG9mIGEgZGl2aWRlciB1bmRlciBpdCwgdGhlIGJpbyBpbiBib3RoXG4vLyBsYW5ndWFnZXMsIGFuZCBhIHNpbmdsZSBMaW5rZWRJbiBsaW5rIGJlaGluZCBpdHMgcm91bmQgaWNvbi4gTm8gUHJvZmlsZVxuLy8gbGluaywgbm8gY29weXJpZ2h0IGxpbmUgb2YgaXRzIG93biDigJQgdGhlIMKpIHJpZGVzIG9uIHRoZSBuYW1lLlxuLy9cbi8vIE9uZSBjb2xvdXIgdmVyc2lvbiBvbmx5LCB3aGljaCB0aGUgY29udHJhc3QtYmFuZCByb2xlcyBhbHJlYWR5IGFyZTogVGVhbFxuLy8gV2FzaG91dCB1bmRlciBQYXBlciBvbiBicmlnaHQgYW5kIGRhcmsgcGFnZXMgYWxpa2UuIEFuZCBvbmUgYXJyYW5nZW1lbnRcbi8vIG9ubHkg4oCUIHRoZSBjb21wb25lbnQncyA3MjAgZnJhbWUgaXMgdGhpcyBzYW1lIGNvbHVtbiwgc28gdGhlIHBob25lIHNpbXBseVxuLy8gZ2V0cyBpdCBzY2FsZWQsIHdpdGggbm8gbGF5b3V0IG9mIGl0cyBvd24gdG8ga2VlcC5cbi8vXG4vLyBMZW5ndGhzIHRoYXQgY29tZSBvZmYgdGhlIGNvbXBvbmVudCBhcmUgcGhjLWxlbjogdGhlIGZvb3RlciBpcyBjaHJvbWVcbi8vIHNoYXJlZCB3aXRoIHRoZSBvbGQgcGFnZXMsIHdob3NlIHZpZXdwb3J0LXRpZWQgcm9vdCB3b3VsZCBvdGhlcndpc2Ugc3RyZXRjaFxuLy8gdGhlbSDigJQgc2VlIHV0aWxzL191bml0LnNjc3MuXG5cbi5waGMtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IHBoYy1sZW4oNDBweCk7XG5cbiAgLy8gRnVsbCBibGVlZCwgdW5saWtlIHRoZSBibG9ja3MgYWJvdmUgaXQg4oCUIHRoZSBmb290ZXIgaXMgYSBiYW5kIGFjcm9zcyB0aGVcbiAgLy8gYm90dG9tIG9mIHRoZSBwYWdlIHJhdGhlciB0aGFuIGFub3RoZXIgY29sdW1uIG9mIGNvbnRlbnQsIHNvIGl0IGlzIG5vdFxuICAvLyBoZWxkIHRvIHRoZSAxNDQwIHBhZ2Ugd2lkdGguIFRoZSBtZW51IHN0aWxsIGlzLlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHBoYy1ibG9jay1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waGMtY29udHJhc3QtYmcpO1xuICBjb2xvcjogdmFyKC0tcGhjLWNvbnRyYXN0LWZnKTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHdvcmRtYXJrLiBDYXBzIGFyZSBhcHBsaWVkIGhlcmUgcmF0aGVyIHRoYW4gdHlwZWQsIHNvIHRoZSBtYXJrdXBcbiAgLy8ga2VlcHMgdGhlIG5hbWUncyBvd24gc3BlbGxpbmcuXG4gICZfX2xvZ28ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAvLyBUaGUgZGl2aWRlcjogYSAxMjAgYnkgMTIgc2xhYiBvZiB0aGUgZm9vdGVyJ3Mgb3duIGluaywgbm90IGEgaGFpcmxpbmUg4oCUXG4gIC8vIGN1cnJlbnRDb2xvciBzbyBpdCBzdGF5cyB0aGUgYmFuZCdzIHRleHQgY29sb3VyIHdpdGhvdXQgbmFtaW5nIGl0IHR3aWNlLlxuICAmX19kaXZpZGVyIHtcbiAgICB3aWR0aDogcGhjLWxlbigxMjBweCk7XG4gICAgaGVpZ2h0OiBwaGMtbGVuKDEycHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gICZfX2JpbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogcGhjLWxlbigyMHB4KTtcbiAgICBtYXgtd2lkdGg6IHBoYy1sZW4oNTAwcHgpO1xuXG4gICAgLy8gVGhlIGRlc2lnbiBzZXRzIHRoZSBFbmdsaXNoIGJpbyBpbiBjYXBzLiBUaGUgSmFwYW5lc2UgcGFyYWdyYXBoIGNhcnJpZXNcbiAgICAvLyBhIGxhbmcgYXR0cmlidXRlIGFuZCBpcyBsZWZ0IGFsb25lIOKAlCBrYW5hIGhhcyBubyBjYXNlLCBhbmQgYW55IGxhdGluXG4gICAgLy8gdGhhdCBzdHJheXMgaW50byBpdCBzaG91bGQga2VlcCBpdHMgb3duLlxuICAgIHA6bm90KFtsYW5nXSkge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogcGhjLWxlbig4cHgpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBwaGMtbGVuKDIycHgpO1xuICAgIGhlaWdodDogcGhjLWxlbigyMnB4KTtcbiAgfVxufVxuXG4vLyBSb29tIGZvciB0aGUgYmFyLCB3aGljaCBpcyBmaXhlZCBvdmVyIHRoZSBmb290IG9mIHRoZSBwYWdlIGFuZCB3b3VsZFxuLy8gb3RoZXJ3aXNlIHNpdCBvbiB0aGUgTGlua2VkSW4gbGluZS4gT25seSBvbiB0aGUgcGFnZXMgdGhhdCBoYXZlIG9uZSDigJRcbi8vIGV2ZXJ5d2hlcmUgZWxzZSB0aGlzIHdhcyBhIGJhbmQgb2YgZW1wdHkgZ3JvdW5kIHRoZSBkZXNpZ24gbmV2ZXIgYXNrZWQgZm9yLlxuLnBoYy1oYXMtbWVudSAucGhjLWZvb3RlciB7XG4gIC8vIEZvb3RlciBnYXAgKyBNZW51IGhlaWdodCArIE1lbnUgQm90dG9tIHNwYWNpbmdcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMi41cmVtICsgNC4zNzVyZW0gKyAxLjI1cmVtKTtcbn1cbiIsIkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogNXB4IDA7XG5cbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJsYWNrKTtcblxuICAvLyBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICAvLyBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIC8vIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIC8vIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBpbnB1dHNcblt0eXBlPVwidGV4dFwiXSwgW3R5cGU9XCJwYXNzd29yZFwiXSwgW3R5cGU9XCJkYXRlXCJdLCBbdHlwZT1cImRhdGV0aW1lXCJdLCBbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBbdHlwZT1cIm1vbnRoXCJdLCBbdHlwZT1cIndlZWtcIl0sIFt0eXBlPVwiZW1haWxcIl0sIFt0eXBlPVwibnVtYmVyXCJdLCBbdHlwZT1cInNlYXJjaFwiXSwgW3R5cGU9XCJ0ZWxcIl0sIFt0eXBlPVwidGltZVwiXSwgW3R5cGU9XCJ1cmxcIl0sIFt0eXBlPVwiY29sb3JcIl0sXG5pbnB1dCxcbnRleHRhcmVhIHtcbiAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xufVxuXG4vLyBUZXh0IGFyZWFzXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcmVzaXplOiBub25lO1xuXG4gICZbcm93c10ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuaW5wdXQ6ZGlzYWJsZWQsXG5pbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvLyBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xufVxuXG4vLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuW3R5cGU9J251bWJlciddIHtcbiAgLy8gQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAvLyB9XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbjo6cGxhY2Vob2xkZXIge1xuICAvLyBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAvLyBjb2xvcjogcmdiYSgkY29sb3ItYmxhY2ssIDAuNik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCJcbi5idXR0b24ge1xuICAkYnRuOiAmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lOiAwO1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuXG4gICAgfVxuICB9XG4gICY6YWN0aXZlIHtcblxuICB9XG5cblxufVxuIiwiLy8gU2hhcmVkIGJlZCBmb3IgdGhlIHJlZGVzaWduIGJsb2Nrcy5cbi8vXG4vLyBFdmVyeSBibG9jayBpbiB0aGUgbmV3IHBhZ2UgdGVtcGxhdGUgaXMgdGhlIHNhbWUgdGhyZWUgY29sdW1ucyDigJQgYSBsYWJlbCxcbi8vIHRoZW4gRW5nbGlzaCBhbmQgSmFwYW5lc2Ugc2lkZSBieSBzaWRlLiBUaGUgcHJvcG9ydGlvbnMgY29tZSBzdHJhaWdodCBmcm9tXG4vLyB0aGUgRmlnbWEgY29tcG9uZW50IOKAlCA0MjAgKyAyMCArIDQ1MCArIDIwICsgNDUwIGZpbGxzIHRoZSAxMzYwcHggaW5zaWRlIGFcbi8vIDE0NDBweCBwYWdlJ3MgNDBweCBwYWRkaW5nIOKAlCBidXQgdGhleSBhcmUgaGVsZCBhcyBzaGFyZXMgb2YgdGhlIHJvdyByYXRoZXJcbi8vIHRoYW4gYXMgZml4ZWQgbGVuZ3Rocywgc28gYSB0YWJsZXQgZ2V0cyB0aGUgZGVza3RvcCBsYXlvdXQgc2NhbGVkIGRvd24gYW5kIGFcbi8vIHdpZGUgc2NyZWVuIGdldHMgaXQgc2NhbGVkIHVwLCBpbnN0ZWFkIG9mIGEgZml4ZWQgbWluaW11bSBmb3JjaW5nIGEgd3JhcCBvclxuLy8gYW4gb3ZlcmZsb3cgdGhlIG1vbWVudCB0aGUgcm93IHN0b3BzIGZpdHRpbmcuXG4vL1xuLy8gVGhlIEphcGFuZXNlIGNvbHVtbiBpcyBhbHdheXMgbGFpZCBvdXQsIGV2ZW4gd2l0aCBub3RoaW5nIGluIGl0LCBzbyBhIHBhZ2Vcbi8vIGhhbGYtdHJhbnNsYXRlZCBkb2VzIG5vdCByZWZsb3cgYXMgY29weSBhcnJpdmVzLlxuXG4vLyBTcGFjaW5nIGxpdmVzIGluIF92YXJpYWJsZXMuc2NzcyB3aXRoIHRoZSByZXN0IG9mIHRoZSByZWRlc2lnbiB0b2tlbnMsIHNvXG4vLyBiYXNlL190eXBvZ3JhcGh5LnNjc3MgY2FuIHNoYXJlIGl0LlxuXG4vLyBUaGUgbGFiZWwncyBzaGFyZSBvZiB0aGUgcm93OiB0aGUgZGVzaWduJ3MgNDIwIG91dCBvZiB0aGUgMTMyMCB0aGUgdGhyZWVcbi8vIGNvbHVtbnMgc3BsaXQgYmV0d2VlbiB0aGVtLCBtZWFzdXJlZCBhZ2FpbnN0IHRoZSByb3cgbGVzcyBpdHMgdHdvIGdhcHMuIFRoZVxuLy8gcmVhZGluZyBjb2x1bW5zIGNhcnJ5IG5vIHNoYXJlIG9mIHRoZWlyIG93biDigJQgdGhleSBmbGV4IGV2ZW5seSBpbnRvIHdoYXQgdGhlXG4vLyBsYWJlbCBsZWF2ZXMsIHdoaWNoIGlzIHRoZSBkZXNpZ24ncyA0NTAgYXBpZWNlIGJ5IHRoZSBzYW1lIGFyaXRobWV0aWMuXG4kcGhjLWJsb2NrLWxhYmVsLXNoYXJlOiBjYWxjKCgxMDAlIC0gI3skcGhjLWJsb2NrLWdhcCAqIDJ9KSAqIDQyMCAvIDEzMjApO1xuXG4vLyBPbmUgcmVhZGluZyBjb2x1bW4gYnkgdGhlIHNhbWUgbWVhc3VyZSwgZm9yIHRoZSBlbGVtZW50cyB0aGF0IG5lZWQgaXQgc3RhdGVkXG4vLyDigJQgYSBmaWd1cmUncyBjYXAsIHNvIGEgcGFpciBvZiB0aGVtIGxhbmRzIGV4YWN0bHkgb24gX19lbiBhbmQgX19qcCBiZWxvdy5cbiRwaGMtYmxvY2stY29sdW1uLXNoYXJlOiBjYWxjKCgxMDAlIC0gI3skcGhjLWJsb2NrLWdhcCAqIDJ9KSAqIDQ1MCAvIDEzMjApO1xuXG4vLyBUaGUgbGFiZWwncyBzaGFyZSBwbHVzIHRoZSBnYXAgYWZ0ZXIgaXQ6IHdoYXQgYSB3cmFwcGVkIHNlY29uZCBjb2x1bW4gdGFrZXNcbi8vIGFzIGEgbWFyZ2luIHRvIHN0YW5kIGluIHRoZSByZWFkaW5nIGNvbHVtbiByYXRoZXIgdGhhbiBhdCB0aGUgcm93J3MgZWRnZS5cbiRwaGMtYmxvY2stY29sdW1uLW9mZnNldDogY2FsYygoMTAwJSAtICN7JHBoYy1ibG9jay1nYXAgKiAyfSkgKiA0MjAgLyAxMzIwICsgI3skcGhjLWJsb2NrLWdhcH0pO1xuXG4ucGhjLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHBoYy1ibG9jay1yb3ctZ2FwO1xuXG4gIC8vIEZ1bGwgYmxlZWQsIGxpa2UgdGhlIGZvb3Rlci4gVGhlIGNvbHVtbnMgYXJlIHJlbSwgc28gcGFzdCB0aGUgZGVzaWduJ3MgMTQ0MFxuICAvLyBjYW52YXMgdGhleSB3aWRlbiB3aXRoIHRoZSByb290IGZvbnQgc2l6ZSByYXRoZXIgdGhhbiB0aGUgcGFnZSBlbmRpbmcgaW4gYVxuICAvLyBiYW5kIG9mIHdoaXRlc3BhY2Ug4oCUIHNlZSBiYXNlL19iYXNlLnNjc3MgZm9yIHdoZXJlIHRoYXQgc2NhbGluZyBzdGFydHMuXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkcGhjLWJsb2NrLXBhZGRpbmc7XG4gIGNvbG9yOiB2YXIoLS1waGMtZmcpO1xuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAkcGhjLWJsb2NrLWdhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFRoZXNlIGNhcnJ5IGdlb21ldHJ5IG9ubHkuIFR5cGUgY29tZXMgZnJvbSBhIC50ZXh0LXBoYy0qIHV0aWxpdHkgYXBwbGllZFxuICAvLyBhbG9uZ3NpZGUgdGhlbSBpbiB0aGUgbWFya3VwLCBzbyBhIGJsb2NrIGNhbiByZXN0eWxlIGl0cyBjb3B5IHdpdGhvdXRcbiAgLy8gdG91Y2hpbmcgdGhlIGNvbHVtbiB3aWR0aHMgdGhhdCBrZWVwIHRoZSBwYWdlIGFsaWduZWQuXG4gIC8vXG4gIC8vIFRoZSBsYWJlbCBuZXZlciBmbGV4ZXMg4oCUIGl0IGlzIHdoYXQgaG9sZHMgdGhlIHJlYWRpbmcgY29sdW1ucyBpbiBwbGFjZSBhbGxcbiAgLy8gdGhlIHdheSBkb3duIHRoZSBwYWdlLlxuICAmX19sYWJlbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLXdpZHRoOiAkcGhjLWJsb2NrLWxhYmVsLXNoYXJlO1xuICAgIG1heC13aWR0aDogJHBoYy1ibG9jay1sYWJlbC1zaGFyZTtcbiAgfVxuXG4gIC8vIG1pbi13aWR0aDogMCByYXRoZXIgdGhhbiBhIGZsb29yIOKAlCBhIGZsZXggaXRlbSdzIG93biBkZWZhdWx0IG1pbmltdW0gaXNcbiAgLy8gaXRzIGNvbnRlbnQsIGFuZCBhIGZsb29yIGlzIHdoYXQgdXNlZCB0byBmb3JjZSB0aGUgcm93IHRvIHdyYXAgd2hlcmUgaXRcbiAgLy8gc2hvdWxkIHNpbXBseSBoYXZlIG5hcnJvd2VkLlxuICAmX19lbiB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgJl9fanAge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWdlIHRpdGxlLiBUaGUgZGVzaWduIHNldHMgaXQgYmVzaWRlIGEgMzEwcHggY29sdW1uIHRoYXQgaXMgZW1wdHkgaW5cbiAgLy8gdGhpcyBibG9jaywgc28gdGhlIG1heC13aWR0aCByZXByb2R1Y2VzIHRoZSBwb2ludCB3aGVyZSBpdCB3cmFwcyB3aXRob3V0XG4gIC8vIG5lZWRpbmcgYSBwbGFjZWhvbGRlciBlbGVtZW50IHRvIGhvbGQgdGhhdCBzcGFjZSDigJQgdGhhdCBjb2x1bW4ncyBzaGFyZSBvZlxuICAvLyB0aGUgcm93LCAzMTAgb2YgdGhlIDEzMjAsIHBsdXMgdGhlIGdhcCBiZXR3ZWVuIHRoZW0uXG4gICZfX3RpdGxlIHtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgxMDAlIC0gI3skcGhjLWJsb2NrLWdhcCAqIDJ9KSAqIDMxMCAvIDEzMjAgLSAjeyRwaGMtYmxvY2stZ2FwfSk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQSBmaWd1cmUgYW5kIGl0cyBjYXB0aW9uOiBvbmUgbGFyZ2UgbnVtYmVyLCB0aGVuIHRoZSBzYW1lIG5vdGUgaW4gYm90aFxuICAvLyBsYW5ndWFnZXMgb24gY29uc2VjdXRpdmUgbGluZXMuXG4gIC8vXG4gIC8vIFRoZSBmaWd1cmVzIHNoYXJlIHdoYXRldmVyIHRoZSBsYWJlbCBsZWF2ZXMsIHNwbGl0IGV2ZW5seSBob3dldmVyIG1hbnlcbiAgLy8gdGhlcmUgYXJlIOKAlCB0d28sIHRocmVlLCBmb3VyLiBUd28gbGFuZCBvbiB0aGUgc2FtZSBjb2x1bW5zIGFzIF9fZW4gYW5kIF9fanBcbiAgLy8gYmVsb3cgdGhlbSwgYmVjYXVzZSA0MjAgKyAyMCArIDQ1MCArIDIwICsgNDUwIGlzIHRoZSByb3cgZWl0aGVyIHdheS5cbiAgLy9cbiAgLy8gVGhlIGNhcCBpcyBvbmUgb2YgdGhvc2UgY29sdW1ucywgdGhlIHNoYXJlIHJhdGhlciB0aGFuIHRoZSA0NTAgaXQgY29tZXNcbiAgLy8gdG8uIEEgc2luZ2xlIGZpZ3VyZSB0aGVuIHNpdHMgaW4gdGhlIEVuZ2xpc2ggY29sdW1uIGFuZCBzdG9wcywgd2hpY2ggaXNcbiAgLy8gd2hlcmUgaXQgaGFzIGFsd2F5cyBzYXQg4oCUIGFuZCBiZWNhdXNlIGl0IGlzIGEgc2hhcmUgb2YgdGhlIHJvdyByYXRoZXIgdGhhblxuICAvLyBhIGZpeGVkIGxlbmd0aCwgYSBwYWlyIHN0aWxsIGxhbmRzIGV4YWN0bHkgb24gX19lbiBhbmQgX19qcCBhdCBhbnkgd2lkdGguXG4gIC8vIEEgbGl0ZXJhbCA0NTAgaGVsZCBvbiBhIGxhcHRvcCBhbmQgZHJpZnRlZCBldmVyeXdoZXJlIGVsc2UuXG4gIC8vXG4gIC8vIG1pbi13aWR0aDogMCBiZWNhdXNlIGEgZmxleCBpdGVtJ3Mgb3duIGRlZmF1bHQgaXMgaXRzIGNvbnRlbnQsIGFuZCBhIDEyOHB4XG4gIC8vIG51bWVyYWwgaXMgYSB3aWRlIHRoaW5nIHRvIGNhbGwgYSBtaW5pbXVtIOKAlCB0aHJlZSBvZiB0aGVtIHdvdWxkIHJlZnVzZSB0b1xuICAvLyBkaXZpZGUgYSByb3cgdGhhdCBoYXMgdGhlIHJvb20gZm9yIHRoZW0uXG4gICZfX2ZpZ3VyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6ICRwaGMtYmxvY2stY29sdW1uLXNoYXJlO1xuICB9XG5cbiAgLy8gQSBmaWd1cmUgYW5kIGl0cyB1bml0OiBcIjE0NFwiIGFuZCBcIiVcIiwgZm91ciBhcGFydCBhbmQgc3RhbmRpbmcgb24gdGhlIHNhbWVcbiAgLy8gbGluZS4gVGhlIGRlc2lnbiBib3R0b20tYWxpZ25zIHR3byBib3hlcyB0cmltbWVkIHRvIHRoZWlyIGFscGhhYmV0aWMgZWRnZSxcbiAgLy8gd2hpY2ggaXMgYSBiYXNlbGluZSDigJQgc28gdGhhdCBpcyB3aGF0IHRoaXMgYWxpZ25zIG9uLiBmbGV4LWVuZCB3b3VsZCBsaW5lXG4gIC8vIHVwIHRoZSBib3R0b21zIG9mIGEgMTU4IGxpbmUgYm94IGFuZCBhIDk4IG9uZSBpbnN0ZWFkLCBhbmQgZHJvcCB0aGUgdW5pdFxuICAvLyB3ZWxsIGJlbG93IHRoZSBudW1iZXIuXG4gICZfX2ZpZ3VyZS12YWx1ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiByZW0tY2FsYyg0cHgpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC8vIHBoYy1sZW4gcmF0aGVyIHRoYW4gcmVtLWNhbGM6IGlkZW50aWNhbCBhYm92ZSB0aGUgbW9iaWxlIGNhbnZhcywgYW5kXG4gICAgLy8gYmVsb3cgaXQgdGhpcyBib3ggZm9sbG93cyB0aGUgc2FtZSByb290IHRoZSBudW1iZXIgZG9lcyDigJQgc2VlIHRoZSBydWxlXG4gICAgLy8gZnVydGhlciBkb3duIHRoYXQgaGFuZHMgdGhpcyBlbGVtZW50IGFuIHVuZmxvb3JlZCBvbmUuIEEgYm94IHRoYXQga2VwdFxuICAgIC8vIHRoZSBmbG9vcmVkIHJvb3Qgd2hpbGUgaXRzIG51bWJlciBzaHJhbmsgd291bGQgc3RhbmQgdGhlIGNhcHRpb24gb2ZmLlxuICAgIGhlaWdodDogcGhjLWxlbigxMjJweCk7XG4gIH1cblxuICAmX19maWd1cmUtY2FwdGlvbiB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHByb2ZpbGUgcGFnZSBzZXRzIGl0cyBsYWJlbHMgcXVpZXRlciB0aGFuIHRoZSBhcnRpY2xlIGJsb2NrcyBkbyDigJRcbiAgLy8gc21hbGx0eXBlIGluIHRoZSBtdXRlZCByb2xlIHJhdGhlciB0aGFuIHN0YW5kYXJkIGluIHRoZSBmb3JlZ3JvdW5kLlxuICAmX19sYWJlbC0tbXV0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1waGMtbXV0ZWQpO1xuICB9XG5cbiAgLy8gVGhlIHByb2ZpbGUncyBvcGVuaW5nIHN0YXRlbWVudCwgd2hpY2ggcnVucyBhdCB0aXRsZSBzaXplIHJhdGhlciB0aGFuIGJvZHlcbiAgLy8gc2l6ZS5cbiAgLy9cbiAgLy8gTm8gbWluaW11bS4gSXQgY2FycmllZCBvbmUg4oCUIDUzMCwgd2lkZXIgdGhhbiBhIHJlYWRpbmcgY29sdW1uLCBzbyB0aGVcbiAgLy8gc3RhdGVtZW50IHdvdWxkIG5vdCBicmVhayBpbnRvIGEgbmFycm93IHJpYmJvbiDigJQgYW5kIHRoYXQgZmxvb3Igd2FzIGRvaW5nXG4gIC8vIHR3byB0aGluZ3Mgd3Jvbmcgb25jZSB0aGUgcm93IGNvdWxkIG5vIGxvbmdlciBob2xkIGl0LlxuICAvL1xuICAvLyBUaGUgRW5nbGlzaCB3cmFwcGVkIHRvIGEgcm93IG9mIGl0cyBvd24gYmVsb3cgMTA1MCwgYW5kIGEgd3JhcHBlZCBjb2x1bW5cbiAgLy8gc3RhcnRzIGF0IHRoZSByb3cncyBvd24gbGVmdCBlZGdlLiBTbyB0aGUgc3RhdGVtZW50IGp1bXBlZCBvdXQgdG8gdGhlIHBhZ2VcbiAgLy8gbWFyZ2luIHdoaWxlIHRoZSBKYXBhbmVzZSB1bmRlciBpdCBhbmQgdGhlIExpbmtlZEluIGxpbmsgYmVsb3cgaXQgc3RheWVkXG4gIC8vIGluIHRoZSBjb2x1bW4gcGFzdCB0aGUgbGFiZWwsIGFuZCB0aGUgdGhyZWUgc3RvcHBlZCBsaW5pbmcgdXAuXG4gIC8vXG4gIC8vIEFuZCBvbiB0aGUgSmFwYW5lc2UgaXQgYmVhdCB0aGUgbWF4LXdpZHRoIGJlbG93LCB3aGljaCBpcyB0aGUgbmFycm93ZXIgb2ZcbiAgLy8gdGhlIHR3byBmcm9tIDEwNTAgZG93biDigJQgYSBmbG9vciBvdXRyYW5rcyBhIGNlaWxpbmcuIFRoYXQgcHV0IHRoZSBibG9ja1xuICAvLyBwYXN0IHRoZSByaWdodCBlZGdlIG9mIHRoZSBwYWdlIGFuZCBhIHNjcm9sbGJhciB1bmRlciB0aGUgd2hvbGUgZG9jdW1lbnQuXG4gIC8vXG4gIC8vIFdpdGhvdXQgaXQgdGhlIHN0YXRlbWVudCBzaW1wbHkgbmFycm93cywgd2hpY2ggaXMgd2hhdCB0aGUgbGFiZWwgY29sdW1uXG4gIC8vIGJlc2lkZSBpdCBoYXMgYmVlbiBkb2luZyBhbGwgYWxvbmcuXG4gICZfX2ludHJvIHtcbiAgICBmbGV4OiAxIDAgMDtcbiAgfVxuXG4gIC8vIFRoZSBKYXBhbmVzZSBoYWxmIG9mIHRoYXQgc3RhdGVtZW50IHJlYWRzIGFzIHRoZSBzYW1lIHBhc3NhZ2UgaW4gdGhlIG90aGVyXG4gIC8vIGxhbmd1YWdlLCBub3QgYXMgYSBzZWNvbmQgcGFyYWdyYXBoLCBzbyBpdCBrZWVwcyB0aGUgRW5nbGlzaCBjb2x1bW4gcmF0aGVyXG4gIC8vIHRoYW4gZHJvcHBpbmcgdG8gdGhlIGZ1bGwgcGFnZSB3aWR0aC4gQSBmdWxsIGJhc2lzIHB1dHMgaXQgb24gYSBsaW5lIG9mIGl0c1xuICAvLyBvd247IHRoaXMgaW5kZW50cyBpdCBieSB0aGUgbGFiZWwgY29sdW1uIGFuZCBjYXBzIGl0IGF0IHdoYXQgaXMgbGVmdCwgd2hpY2hcbiAgLy8gaXMgdGhlIHdpZHRoIHRoZSBFbmdsaXNoIHRvb2sgb24gdGhlIGxpbmUgYWJvdmUuXG4gICZfX2ludHJvLS1qcCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogJHBoYy1ibG9jay1jb2x1bW4tb2Zmc2V0O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skcGhjLWJsb2NrLWNvbHVtbi1vZmZzZXR9KTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIHByb21pbmVudCBsaW5rIOKAlCB0aGUgTGlua2VkSW4gcm93IHVuZGVyIHRoZSBwcm9maWxlIHN0YXRlbWVudC5cbiAgLy9cbiAgLy8gTm8gaG92ZXIgY29sb3VyLiBJdCB1c2VkIHRvIGRpbSB0byB0aGUgbXV0ZWQgcm9sZSwgd2hpY2ggaXMgdGhlIHdyb25nIG1vdmVcbiAgLy8gZm9yIHRoaXMgb25lOiBhdCBmb290ZXJsaW5rYWdlIGl0IGlzIHRoZSBsYXJnZXN0IHRoaW5nIG9uIHRoZSByb3csIGFuZFxuICAvLyBkcmFpbmluZyBpdCBvbiBhcHByb2FjaCByZWFkcyBhcyBnb2luZyBvdXQgcmF0aGVyIHRoYW4gbGlnaHRpbmcgdXAuIEl0c1xuICAvLyBhcnJvdyBsZWFucyBpbnN0ZWFkLCB3aGljaCBpcyB3aGF0IGV2ZXJ5IG90aGVyIGxpbmsgaW4gdGhlIHJlZGVzaWduIGRvZXMuXG4gIC8vXG4gIC8vIE5vdGhpbmcgdG8gc3dpdGNoIG9mZiBwZXIgc2NoZW1lLCBhbmQgbm8gOm5vdCgpIHRvIGNhcnJ5IOKAlCB0aGUgcnVsZSBzaW1wbHlcbiAgLy8gaXMgbm90IGhlcmUsIHNvIGJyaWdodCBhbmQgZGFyayBib3RoIGdldCB0aGUgaW5rIHRoZXkgaW5oZXJpdCBmcm9tIHRoZVxuICAvLyBibG9jayBhbmQga2VlcCBpdC5cbiAgJl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHJlbS1jYWxjKDEwcHgpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MHB4KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGV0YWlsIGNlbGxzIHNwbGl0IHdoYXQgdGhlIGxhYmVsIGxlYXZlcyB0aGUgc2FtZSB3YXkgdGhlIHJlYWRpbmcgY29sdW1uc1xuICAvLyBkby4gVGhleSB1c2VkIHRvIGNhcnJ5IGEgMzEwcHggZmxvb3IgZnJvbSB0aGUgZGVzaWduIOKAlCBidXQgdGhlIGZsb29yIG5ldmVyXG4gIC8vIGJvdW5kIG9uIHRoZSBmdWxsIGNhbnZhcywgd2hlcmUgYSBwYWlyIG9mIHRoZW0gZmxleGVzIHRvIDQ1MCBhcGllY2UgYW55d2F5LFxuICAvLyBhbmQgb24gYSB0YWJsZXQgaXQgd2FzIHdoYXQgc2hvdmVkIHRoZSBzZWNvbmQgb25lIG9udG8gYSBsaW5lIG9mIGl0cyBvd24uXG4gICZfX2RldGFpbCB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgLy8gQSB0ZXJtIGFuZCBpdHMgdmFsdWUgYXJlIGNvbnNlY3V0aXZlIGxpbmVzLCBub3Qgc3BhY2VkIHBhcmFncmFwaHMuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRWRpdG9yIGNvcHkgY2FycmllcyBhIHRyYWlsaW5nIG1hcmdpbiBvbiBpdHMgbGFzdCBwYXJhZ3JhcGgsIHdoaWNoIGxhbmRzIG9uXG4gIC8vIHRvcCBvZiB0aGUgZ2FwcyBzZXQgYWJvdmUgaW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlbS4gU2lkZSBieSBzaWRlIHRoYXQganVzdFxuICAvLyBwYWRzIHRoZSBib3R0b20gb2YgYSBjb2x1bW47IHN0YWNrZWQgb24gbW9iaWxlIGl0IGRvdWJsZXMgdGhlIHNwYWNlIGJldHdlZW5cbiAgLy8gRW5nbGlzaCBhbmQgSmFwYW5lc2UuIFNwYWNpbmcgYmV0d2VlbiBwYXJ0cyBvZiBhIGJsb2NrIGlzIHRoZSBnYXAncyBqb2IuXG4gICZfX2xhYmVsLFxuICAmX19lbixcbiAgJl9fanAge1xuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgZGVzaWduIGNsb3NlcyBhIGRldGFpbHMgYmxvY2sgd2l0aCBhIHJ1bGUuIEl0cyBjb2xvdXIgZm9sbG93cyB0aGVcbiAgLy8gYnJpZ2h0L2Rhcmsgcm9sZSByYXRoZXIgdGhhbiBiZWluZyBmaXhlZCwgc2luY2UgdGhlIEZpZ21hIGxpYnJhcnkgY2Fycmllc1xuICAvLyB3aGl0ZSwgZ3JleSBhbmQgYmxhY2sgdmFyaWFudHMgZm9yIGV4YWN0bHkgdGhhdCByZWFzb24uXG4gICZfX3J1bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTBweCkgMCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICAvLyBBIGhhaXJsaW5lIHN0YXlzIGEgaGFpcmxpbmUg4oCUIHRoaXMgaXMgdGhlIG9uZSBsZW5ndGggdGhhdCBzaG91bGQgbm90XG4gICAgLy8gc2NhbGUgd2l0aCB0aGUgcmVhZGVyJ3MgZm9udCBzaXplLlxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1waGMtcnVsZSk7XG4gIH1cblxuICAvLyBUaGUgdGhyZWUgdGhlIExpbmUgY29tcG9uZW50IGNvbWVzIGluLCBzdHJhaWdodCBvZmYgdGhlIEZpZ21hIHZhcmlhYmxlcy5cbiAgLy8gTmFtZWQgcmF0aGVyIHRoYW4gcm9sZS1iYXNlZCBvbiBwdXJwb3NlOiBhIHJ1bGUgdGhhdCBjbG9zZXMgYSBibG9jayBiZWxvbmdzXG4gIC8vIHRvIHRoZSBwYWdlIGFuZCBmb2xsb3dzIC0tcGhjLXJ1bGUgYWJvdmUsIGJ1dCB0aGUgRGl2aWRlciBibG9jayBpcyBjaG9zZW5cbiAgLy8gYWdhaW5zdCB0aGUgdHdvIGJsb2NrcyBpdCBzZXBhcmF0ZXMsIHdoaWNoIGlzIGEgcGVyLWRpdmlkZXIgZGVjaXNpb24uXG4gICZfX3J1bGUtLWdyYXkge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBoYy1ncmF5KTtcbiAgfVxuXG4gICZfX3J1bGUtLXdoaXRlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1waGMtd2hpdGUtYWYpO1xuICB9XG5cbiAgJl9fcnVsZS0tYmxhY2sge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLXBoYy1ibGFjay1hZik7XG4gIH1cbn1cblxuLy8gQmVsb3cgdGFibGV0IHRoZSBkZXNpZ24gc3RhY2tzIGV2ZXJ5dGhpbmcgZnVsbCB3aWR0aCDigJQgdGhlIGNvbHVtbnMgYWJvdmVcbi8vIHdvdWxkIGtlZXAgc2hhcmluZyB0aGUgbGluZSBhdCBhbnkgd2lkdGgsIGFuZCBieSBoZXJlIGEgc2hhcmVkIGxpbmUgaXMgdG9vXG4vLyBuYXJyb3cgdG8gcmVhZC5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAucGhjLWJsb2NrIHtcbiAgICAvLyBUaGUgdGhlbWUncyBvd24gZ3V0dGVyIHJhdGhlciB0aGFuIGEgcHggdmFsdWUsIHNvIHRoZSBibG9ja3MgbGluZSB1cCB3aXRoXG4gICAgLy8gZXZlcnl0aGluZyBlbHNlIG9uIHRoZSBwYWdlIGF0IG1vYmlsZSB3aWR0aHMuXG4gICAgcGFkZGluZzogJG1vYmlsZS1tYXJnaW47XG4gICAgZ2FwOiAkcGhjLWJsb2NrLWdhcDtcblxuICAgICZfX3RpdGxlLFxuICAgICZfX2RldGFpbCxcbiAgICAmX19sYWJlbCxcbiAgICAmX19lbixcbiAgICAmX19qcCxcbiAgICAmX19pbnRybyB7XG4gICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBTdGFja2VkIGZ1bGwgd2lkdGgsIHRoZXJlIGlzIG5vIGxhYmVsIGNvbHVtbiB0byBjbGVhci5cbiAgICAmX19pbnRyby0tanAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmaWd1cmVzIHNjYWxlIHB1cmVseSBiZWxvdyB0aGUgbW9iaWxlIGNhbnZhcywgZmxvb3IgYW5kIGFsbCB0YWtlbiBvZmYuXG4vL1xuLy8gcGhjLWxlbigpIHJlc29sdmVzIHZhcigtLXBoYy1yb290KSBvbiB0aGUgZWxlbWVudCB0aGF0IHVzZXMgaXQsIHNvIGhhbmRpbmdcbi8vIHRoaXMgb25lIGl0cyBvd24gaXMgZW5vdWdoIHRvIHJlLW1lYXN1cmUgZXZlcnl0aGluZyBpbnNpZGUg4oCUIHRoZSBudW1iZXIsIGl0c1xuLy8gdW5pdCwgYW5kIHRoZSBib3gncyBvd24gaGVpZ2h0IOKAlCB3aXRob3V0IGEgc2Vjb25kIHNldCBvZiB0eXBlIHRva2Vucy4gVGhlXG4vLyBjYXB0aW9uIHVuZGVybmVhdGggaXMgYSBzaWJsaW5nIGFuZCBrZWVwcyB0aGUgZmxvb3JlZCByb290LCB3aGljaCBpcyByaWdodDpcbi8vIHRoYXQgb25lIGlzIGJvZHkgY29weSBhbmQgdGhlIGZsb29yIGlzIGZvciBib2R5IGNvcHkuXG4vL1xuLy8gV2l0aG91dCB0aGlzIHRoZSB0d28gY29sdW1ucyBiZWxvdyBjb2xsaWRlIG9uIGEgcGhvbmUuIFNlZSBfdmFyaWFibGVzLnNjc3MuXG5AbWVkaWEgKG1heC13aWR0aDogJHBoYy1tb2JpbGUtY2FudmFzKSB7XG4gIC5waGMtYmxvY2tfX2ZpZ3VyZS12YWx1ZSB7XG4gICAgLS1waGMtcm9vdDogI3skcGhjLW1vYmlsZS1yb290LXVuZmxvb3JlZH07XG4gIH1cbn1cblxuLy8gQmV0d2VlbiB0YWJsZXQgYW5kIHRoZSAxNDQwIGNhbnZhcyB0aGUgY29sdW1ucyBhcmUgc2hhcmVzIG9mIHRoZSB3aW5kb3cgYnV0XG4vLyB0aGUgcm9vdCB0aGUgbnVtZXJhbHMgbWVhc3VyZSBhZ2FpbnN0IHN0YXlzIGZsYXQsIHNvIGEgMTI4cHggZmlndXJlIHdvdWxkXG4vLyBzdGFuZCBvdmVyIGl0cyBuZWlnaGJvdXIgaW4gYSBjb2x1bW4gdGhhdCBoYXMgc2NhbGVkIHRvIDIyMC4gSW4gdGhhdCByYW5nZVxuLy8gdGhlIGZpZ3VyZSdzIHJvb3QgZm9sbG93cyBpdHMgY29sdW1uIGluc3RlYWQ6IDEwMHZ3IGxlc3MgMTIwcHggaXMgdGhlIGJsb2NrXG4vLyBwYWRkaW5nIGFuZCByb3cgZ2FwcyBvZmYgdGhlIHdpbmRvdyDigJQgdGhlIDEzMjAgdGhlIGNvbHVtbnMgZGl2aWRlIOKAlCBhbmRcbi8vIGRpdmlkaW5nIGJ5IDgyLjUgbWFrZXMgdGhhdCAxNnB4IGV4YWN0bHkgYXQgMTQ0MCwgc28gdGhlIG51bWVyYWwgZmlsbHMgdGhlXG4vLyBzYW1lIGZyYWN0aW9uIG9mIGl0cyBjb2x1bW4gYXQgZXZlcnkgd2lkdGggYW5kIG5vdGhpbmcgbW92ZXMgd2hlcmUgdGhlXG4vLyBkZXNrdG9wIGRyYXdpbmcgc3RhcnRzLiBTYW1lIHRyaWNrIGFzIHRoZSBtb2JpbGUgcnVsZSBhYm92ZSwgc2FtZSBzaWJsaW5nXG4vLyBjYXZlYXQ6IHRoZSBjYXB0aW9uIGtlZXBzIHRoZSBmbG9vcmVkIHJvb3QsIGJlY2F1c2UgaXQgaXMgYm9keSBjb3B5LlxuQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxkZXNrdG9wLXhsJykge1xuICAucGhjLWJsb2NrX19maWd1cmUtdmFsdWUge1xuICAgIC0tcGhjLXJvb3Q6IGNhbGMoKDEwMHZ3IC0gMTIwcHgpIC8gODIuNSk7XG4gIH1cbn1cblxuLy8gQmVsb3cgdGhlIHRhYmxldCBicmVha3BvaW50IHRoZSBmaWd1cmVzIGhvbGQgdHdvIGNvbHVtbnMuIFRoZSBsYWJlbCBoYXMgdGFrZW5cbi8vIGEgbGluZSBvZiBpdHMgb3duIGJ5IGhlcmUsIHNvIHRoZSB3aG9sZSByb3cgaXMgdGhlaXJzIGFuZCBhIHBhaXIgZml0cyBhY3Jvc3Ncbi8vIGl0IOKAlCB3aGljaCBpcyB0aGUgc2hhcGUgdGhlIDcyMCBkZXNpZ24ga2VlcHMsIGFuZCBldmVyeXRoaW5nIGJlbG93IDcyMCBpcyB0aGF0XG4vLyBkZXNpZ24gc2NhbGVkLlxuLy9cbi8vIEZyb20gNzY4IHJhdGhlciB0aGFuIGZyb20gNzIwIGl0c2VsZjogdGhlIGxhYmVsIGdvZXMgZnVsbCB3aWR0aCBhdCA3NjgsIGFuZCBpdFxuLy8gaXMgdGhhdCwgbm90IHRoZSBjYW52YXMsIHRoYXQgZnJlZXMgdGhlIHJvdy4gU3RhcnRpbmcgYXQgNzIwIHdvdWxkIGxlYXZlIDQ3XG4vLyBwaXhlbHMgYmVoYXZpbmcgZGlmZmVyZW50bHkgZm9yIG5vIHJlYXNvbiBhIHJlYWRlciBjb3VsZCBzZWUuXG4vL1xuLy8gSGFsZiB0aGUgcm93IGxlc3MgaGFsZiB0aGUgZ2FwLCBzbyB0d28gZmlsbCBhIGxpbmUgZXhhY3RseS4gR3JvdyBzdGF5cyBvbiwgc29cbi8vIGEgc2luZ2xlIGZpZ3VyZSB0YWtlcyB0aGUgd2lkdGggcmF0aGVyIHRoYW4gc2l0dGluZyBhdCBoYWxmIG9mIGl0IGxvb2tpbmcgbGlrZVxuLy8gaXRzIG5laWdoYm91ciBmYWlsZWQgdG8gbG9hZDsgYSB0aGlyZCBkb2VzIHRoZSBzYW1lIHVuZGVyIHRoZSBmaXJzdCB0d28uXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgLnBoYy1ibG9ja19fZmlndXJlIHtcbiAgICBmbGV4OiAxIDEgY2FsYyg1MCUgLSAjeyRwaGMtYmxvY2stZ2FwfSAvIDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBUaGUgcHJvZmlsZSdzIHJvd3Mgc2l0IGNsb3NlciB0b2dldGhlciB0aGFuIGEgcmVhZGluZyBibG9jaydzIOKAlCBlYWNoIGVudHJ5IGlzXG4vLyBhIGNvdXBsZSBvZiBzaG9ydCBsaW5lcyByYXRoZXIgdGhhbiBhIHBhcmFncmFwaCwgc28gNHB4IGJldHdlZW4gdGhlIGNvbHVtbnNcbi8vIG9mIG9uZSBlbnRyeSBhbmQgMjBweCBiZXR3ZWVuIGVudHJpZXMuXG4ucGhjLWJsb2NrLS1leHBlcmllbmNlLFxuLnBoYy1ibG9jay0tcHJvZmlsZS1pbnRybyB7XG4gIGdhcDogJHBoYy1ibG9jay1nYXA7XG59XG5cbi5waGMtYmxvY2tfX3Jvdy0tZW50cnkge1xuICByb3ctZ2FwOiByZW0tY2FsYyg0cHgpO1xufVxuXG4vLyBPbiBhIHBob25lIHRoZSB0d28gYmxvY2tzIGJ1aWx0IG91dCBvZiBzaG9ydCBwYWlyZWQgZmFjdHMg4oCUIGFuIEV4cGVyaWVuY2Vcbi8vIGVudHJ5LCBhIERldGFpbHMgcm93IOKAlCBrZWVwIHRoZWlyIGxhbmd1YWdlcyBzaWRlIGJ5IHNpZGUgaW5zdGVhZCBvZiBzdGFja2luZ1xuLy8gdGhlbSwgd2hpY2ggaXMgd2hhdCB0aGUgYmxvY2sgYWJvdmUgZG9lcyB0byBldmVyeXRoaW5nIGJ5IGRlZmF1bHQuXG4vL1xuLy8gQm90aCBhcmUgdHdvIG9yIHRocmVlIHNob3J0IGxpbmVzIHJhdGhlciB0aGFuIGEgcGFyYWdyYXBoLiBTaWRlIGJ5IHNpZGUgZWFjaFxuLy8gSmFwYW5lc2UgbGluZSBzaXRzIGFnYWluc3QgdGhlIEVuZ2xpc2ggaXQgdHJhbnNsYXRlcyBhbmQgdGhlIHBhaXIgaXMgcmVhZFxuLy8gYWNyb3NzOyBzdGFja2VkLCBvbmUgZW50cnkgYmVjYW1lIHNpeCBsaW5lcyB0byBiZSBtYXRjaGVkIHVwIGRvd24gdGhlIHBhZ2UuXG4vL1xuLy8gV2hhdCBoZWFkcyB0aGUgcm93IGtlZXBzIGEgbGluZSBvZiBpdHMgb3duIGFib3ZlIHRoZSB0d28g4oCUIHRoZSBwZXJpb2Qgb24gYW5cbi8vIEV4cGVyaWVuY2UgZW50cnksIHRoZSBibG9jaydzIGxhYmVsIG9uIHRoZSBmaXJzdCByb3cgb2YgYSBEZXRhaWxzLiBBdCB0aGlzXG4vLyB3aWR0aCB0aGV5IGFyZSB0aGUgb25seSB0aGluZ3Mgd2lkZSBlbm91Z2ggdG8gYmUgd29ydGggYSBsaW5lLlxuLy9cbi8vIEFmdGVyIHRoZSAnPHRhYmxldCcgYmxvY2sgYWJvdmUsIGFuZCBpdCBoYXMgdG8gYmU6IHRoYXQgc2V0cyB0aGVzZSB0byBhIGZ1bGxcbi8vIDEwMCUgYXMgYSBzaG9ydGhhbmQsIHNvIGEgcnVsZSB0aGF0IG1lcmVseSBtYXRjaGVkIGl0IHdvdWxkIGxvc2Ugb24gb3JkZXIuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgLnBoYy1ibG9jay0tZXhwZXJpZW5jZSAucGhjLWJsb2NrX19yb3ctLWVudHJ5IC5waGMtYmxvY2tfX2RldGFpbCxcbiAgLnBoYy1ibG9jay0tZGV0YWlscyAucGhjLWJsb2NrX19kZXRhaWwge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAvLyBBIGxhYmVsIHdpdGggbm90aGluZyBpbiBpdCB0YWtlcyBubyBwYXJ0IGluIGEgc3RhY2tlZCBsYXlvdXQsIHNvIGl0IGdvZXMuXG4gIC8vXG4gIC8vIFNldmVyYWwgYmxvY2tzIHJlbmRlciBvbmUgYW55d2F5OiBEZXRhaWxzIGZpbGxzIGl0IG9uIHRoZSBmaXJzdCByb3cgYW5kXG4gIC8vIGxlYXZlcyBpdCBlbXB0eSBhZnRlciwgdGhlIHByb2ZpbGUncyBMaW5rZWRJbiByb3cgY2FycmllcyBhbiBlbXB0eSBvbmUgYXMgYVxuICAvLyBzcGFjZXIsIGFuZCBDb2x1bW4sIERvdWJsZSBDb2x1bW4gYW5kIFRvcCBhbGwgcHJpbnQgdGhlaXJzIHdoZXRoZXIgdGhlXG4gIC8vIGVkaXRvciBnYXZlIHRoZW0gYSBoZWFkaW5nIG9yIG5vdC4gU2lkZSBieSBzaWRlIHRoYXQgaXMgcmlnaHQg4oCUIHRoZSBlbXB0eVxuICAvLyBvbmUgaXMgaG9sZGluZyB0aGUgY29sdW1uIHRoZSBmaWxsZWQgb25lcyBzdGFuZCBpbi4gU3RhY2tlZCB0aGVyZSBpcyBub1xuICAvLyBjb2x1bW4gdG8gaG9sZCwgYW5kIGFuIGVtcHR5IGl0ZW0gYSBmdWxsIHJvdyB3aWRlIHN0aWxsIHRha2VzIGEgbGluZSBhbmRcbiAgLy8gdGhlIGdhcCB0aGF0IGZvbGxvd3MgaXQ6IHR3ZW50eSBwaXhlbHMgb2Ygbm90aGluZyBhYm92ZSB0aGUgcm93LCB3aGljaFxuICAvLyByZWFkcyBhcyB0aGUgcm93cyBiZWluZyBncm91cGVkIGluIHBhaXJzLlxuICAvL1xuICAvLyA6ZW1wdHkgaXMgZXhhY3QgaGVyZSDigJQgdGhlc2UgYXJlIHByaW50ZWQgYXMgPGRpdiAuLi4+PD9waHAgZWNobyDigKYgPz48L2Rpdj5cbiAgLy8gd2l0aCBub3RoaW5nIGJldHdlZW4gdGhlIHRhZ3MsIHNvIGFuIHVuZmlsbGVkIG9uZSBob2xkcyBubyB3aGl0ZXNwYWNlXG4gIC8vIGVpdGhlci5cbiAgLnBoYy1ibG9ja19fbGFiZWw6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gQSBydWxlIHN0YW5kaW5nIG9uIGl0cyBvd24gYmV0d2VlbiB0d28gYmxvY2tzLiBUaGUgRGl2aWRlciBjb21wb25lbnQgaXMgYVxuLy8gMTQwMCBsaW5lIGluc2lkZSB0aGUgMTQ0MCBwYWdlIOKAlCB0aGUgcGFnZSBtYXJnaW5zLCBubyBtb3JlIOKAlCBzaXR0aW5nIGluIGEgYm94XG4vLyAyMCB0YWxsIHdpdGggdGhlIGxpbmUgYWNyb3NzIHRoZSBtaWRkbGUuIFNvIHRoaXMga2VlcHMgdGhlIHNpZGUgcGFkZGluZyB0aGF0XG4vLyBsaW5lcyBpdCB1cCB3aXRoIGV2ZXJ5IG90aGVyIGJsb2NrIGFuZCBkcm9wcyB0aGUgdmVydGljYWwsIGxlYXZpbmcgdGhlIHJ1bGUnc1xuLy8gb3duIHRlbiBhYm92ZSBhbmQgdGVuIGJlbG93IHRvIGJlIHRoZSB3aG9sZSBoZWlnaHQgb2YgaXQuXG4ucGhjLWJsb2NrLS1kaXZpZGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gIC5waGMtYmxvY2tfX3J1bGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwcHgpO1xuICB9XG59XG5cbi8vIERldGFpbHMgc2l0cyBmbHVzaCB1bmRlciB0aGUgYmxvY2sgYWJvdmUgaXQgYW5kIGNsb3NlcyB3aXRoIGl0cyBvd24gcnVsZSwgc29cbi8vIGl0IGNhcnJpZXMgbm8gdG9wIHBhZGRpbmcgYW5kIHRpZ2h0ZXIgcm93IHNwYWNpbmcgdGhhbiBhIHJlYWRpbmcgYmxvY2suXG4vL1xuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG1lZGlhIHF1ZXJ5IG9uIHB1cnBvc2U6IHRoYXQgYmxvY2sgc2V0cyBgcGFkZGluZ2AgYXMgYVxuLy8gc2hvcnRoYW5kLCB3aGljaCB3b3VsZCBvdGhlcndpc2UgcHV0IHRoZSB0b3AgcGFkZGluZyBiYWNrIGF0IG1vYmlsZSB3aWR0aHMuXG4ucGhjLWJsb2NrLS1kZXRhaWxzIHtcbiAgZ2FwOiAkcGhjLWJsb2NrLWdhcDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi8vIFR3byBibG9ja3MgaW4gYSByb3cgcHV0IHRoZWlyIHBhZGRpbmcgYmFjayB0byBiYWNrIOKAlCBmb3J0eSBmcm9tIHRoZSBib3R0b20gb2Zcbi8vIHRoZSBvbmUgYWJvdmUgYW5kIGZvcnR5IGZyb20gdGhlIHRvcCBvZiB0aGUgb25lIGJlbG93IOKAlCBzbyB0aGUgc3BhY2UgYmV0d2VlblxuLy8gdGhlbSBpcyB0d2ljZSB3aGF0IHRoZSBkZXNpZ24gbGVhdmVzIGFueXdoZXJlIGVsc2UuIEFnYWluc3QgYSBwaWN0dXJlIGl0IGNvbWVzXG4vLyBvdXQgcmlnaHQsIGJlY2F1c2UgdGhlIHBpY3R1cmUgYnJpbmdzIG5vIHBhZGRpbmcgb2YgaXRzIG93biBhbmQgdGhlIGJsb2NrJ3Ncbi8vIGZvcnR5IGlzIHRoZSB3aG9sZSBnYXA7IGFnYWluc3QgYW5vdGhlciBibG9jayBpdCBkb3VibGVzLlxuLy9cbi8vIFNvIHRoZSBzZWNvbmQgb2YgYW55IHJ1biBkcm9wcyBpdHMgdG9wIHBhZGRpbmcgYW5kIHRoZSBmaXJzdCBvbmUncyBib3R0b21cbi8vIHN0YW5kcyBmb3IgdGhlIHBhaXIuIEl0IGhvbGRzIGZvciBhIHJ1biBvZiBhbnkgbGVuZ3RoLCBhbmQgZm9yIGFueSBtaXggb2Zcbi8vIHRoZW0g4oCUIHR3byBUb3BzLCBhIFRvcCBhbmQgYSBEb3VibGUgQ29sdW1uLCBhIENvbHVtbiB1bmRlciBhIERldGFpbHMuXG4vL1xuLy8gVGhyZWUgbmVpZ2hib3VycyBhcmUgbGVmdCBvdXQsIGFuZCBhbGwgdGhyZWUgZm9yIG9uZSByZWFzb246IHRoZXJlIHRoZVxuLy8gcGFkZGluZyBpcyBob2xkaW5nIGNvbnRlbnQgb2ZmIHRoZSBlZGdlIG9mIGEgYmFuZCBvZiBpdHMgb3duIGNvbG91ciByYXRoZXJcbi8vIHRoYW4gbWVyZWx5IHNwYWNpbmcgdHdvIGJsb2NrcyB0aGF0IHN0YW5kIG9uIHRoZSBzYW1lIGdyb3VuZC5cbi8vXG4vLyAgIC5iYWNrZ3JvdW5kICAgICAgIGEgYmxvY2sgZ2l2ZW4gYSBjb2xvdXIgb2YgaXRzIG93biBpbiB0aGUgZWRpdG9yXG4vLyAgIC0tYmxvY2stcmVsYXRlZCAgIHRoZSBNb3JlLWZyb20tY2F0ZWdvcnkgYmFuZCwgd2hpY2ggcGFpbnRzIGEgY29udHJhc3Rpbmdcbi8vICAgICAgICAgICAgICAgICAgICAgZ3JvdW5kIHRoZSB3YXkgdGhlIGZvb3RlciBkb2VzXG4vLyAgIC0tYmxvY2stZGl2aWRlciAgIGEgcnVsZSBkcmF3biB0byBzaXQgaW4gdGhlIGFpciB0aGUgdHdvIGJsb2NrcyBlaXRoZXIgc2lkZVxuLy8gICAgICAgICAgICAgICAgICAgICBvZiBpdCBnaXZlIGl0IOKAlCB0YWtlIHRoYXQgYXdheSBhbmQgaXQgaGFzIHRlbiBwaXhlbHNcbi8vXG4vLyBBIHN1YnN0cmluZyBtYXRjaCBvbiB0aGUgY2xhc3MgcmF0aGVyIHRoYW4gYSBsaXN0IG9mIHRoZSBlaWdodCBibG9ja3MsIHNvIGFcbi8vIG5pbnRoIGlzIGNvdmVyZWQgYnkgZXhpc3RpbmcgaGVyZSByYXRoZXIgdGhhbiBieSBiZWluZyByZW1lbWJlcmVkLlxuJHBoYy1ibG9jay1ydW46ICdbY2xhc3MqPVwic2VjdGlvbi13cmFwcGVyLS1ibG9jay1cIl06bm90KC5iYWNrZ3JvdW5kKTpub3QoLnNlY3Rpb24td3JhcHBlci0tYmxvY2stcmVsYXRlZCk6bm90KC5zZWN0aW9uLXdyYXBwZXItLWJsb2NrLWRpdmlkZXIpJztcblxuI3skcGhjLWJsb2NrLXJ1bn0gKyAjeyRwaGMtYmxvY2stcnVufSAucGhjLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi8vIFRoZSB3YXkgYmFjayB1c2VkIHRvIGJlIGEgcm93IG9mIHRleHQgaGVyZSDigJQgb25jZSBmbG9hdGluZyBpbiB0aGUgY29ybmVyIG9mXG4vLyB0aGUgaGVybywgb25jZSBhZ2FpbiBhdCB0aGUgZm9vdC4gSXQgaXMgdGhlIG1lbnUgYmFyIGNvbGxhcHNlZCB0byBhIGNpcmNsZVxuLy8gbm93LCBmaXhlZCBpbiB0aGUgY29ybmVyIG9mIHRoZSB3aW5kb3csIHNvIGl0IGxpdmVzIHdpdGggdGhlIGJhciBpdCBpcyBhXG4vLyBzdGF0ZSBvZjogYmFzZS9fbWVudS5zY3NzLCAucGhjLW1lbnUtLWJhY2suXG4iLCIvLyBUaGUgYXJyb3dzIHRoYXQgdHJhaWwgYSBsaW5rIOKAlCBcIlByb2ZpbGUg4oaSXCIsIFwiTGlua2VkSW4g4oaSXCIuXG4vL1xuLy8gVGhleSBsZWFuIGF3YXkgZnJvbSB0aGVpciBsYWJlbCB3aGlsZSB0aGUgbGluayBpcyBob3ZlcmVkLCB3aGljaCBpcyB0aGUgbW92ZVxuLy8gLmFycm93LWxpbmsgYWxyZWFkeSBtYWtlcyBpbiB0aGUgZ3JpZDogdGVuIHBpeGVscywgdHdvIHRlbnRocyBvZiBhIHNlY29uZCxcbi8vIGVhc2luZyBvdXQuXG4vL1xuLy8gQSB0cmFuc2Zvcm0gcmF0aGVyIHRoYW4gdGhlIG1hcmdpbiB0aGF0IG9uZSBhbmltYXRlcy4gVGhlIG1hcmdpbiBncm93cyB0aGVcbi8vIGxpbmsncyBvd24gYm94LCBzbyB0aGUgdGFyZ2V0IG1vdmVzIHdoaWxlIHRoZSBwb2ludGVyIGlzIG9uIGl0cyB3YXkgdG8gaXQg4oCUXG4vLyBoYXJtbGVzcyB3aGVyZSB0aGUgZ3JpZCB1c2VzIGl0LCBidXQgdGhlIGZvb3RlcidzIGxpbmtzIGFyZSByaWdodC1hbGlnbmVkIGluXG4vLyBhIGNvbHVtbiwgYW5kIHRoZXJlIHRoZSBncm93dGggcHVzaGVzIHRoZSBsYWJlbCBzaWRld2F5cyB1bmRlciB0aGUgY3Vyc29yLlxuLy8gQSB0cmFuc2Zvcm0gYWxzbyBzdGF5cyBvZmYgdGhlIGxheW91dCBhbHRvZ2V0aGVyLlxuXG4kcGhjLWFycm93LXRyYXZlbDogcmVtLWNhbGMoNnB4KTtcblxuLnBoYy1hcnJvdyB7XG4gIC8vIEEgc3BhbiBpcyBpbmxpbmUsIGFuZCBpbmxpbmUgYm94ZXMgY2Fubm90IGJlIHRyYW5zZm9ybWVkLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0O1xufVxuXG4vLyBPbmx5IHdoZXJlIHRoZXJlIGlzIGEgcG9pbnRlciB0byBob3ZlciB3aXRoLiBPbiBhIHRvdWNoIHNjcmVlbiB0aGUgYXJyb3dcbi8vIHdvdWxkIG90aGVyd2lzZSBzdGljayBpbiBpdHMgbW92ZWQgcG9zaXRpb24gYWZ0ZXIgYSB0YXAuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBhOmhvdmVyIC5waGMtYXJyb3cge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkcGhjLWFycm93LXRyYXZlbCk7XG4gIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnBoYy1hcnJvdyB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLy8gXCJNb3JlIGZyb20gdGhpcyBjYXRlZ29yeVwiIOKAlCBhIGhlYWRpbmcgb3ZlciBhIHJvdyBvZiBpbWFnZSBjYXJkcy5cbi8vXG4vLyBUaGUgY2FyZHMga2VlcCB0aGUgZGVzaWduJ3MgMjoxIHByb3BvcnRpb24gYW5kIHNoYXJlIG9uZSByb3cgYXQgZXZlcnkgd2lkdGhcbi8vIGZyb20gdGFibGV0IHVwIOKAlCBubyBtaW5pbXVtLCBzbyBhIG5hcnJvd2VyIHBhZ2UgZ2V0cyB0aGUgZnVsbC13aWR0aCByb3dcbi8vIHNjYWxlZCBkb3duIHJhdGhlciB0aGFuIGNhcmRzIHdyYXBwaW5nIG91dCBvZiBpdC4gTW9iaWxlIHN0YWNrcyB0aGVtIGZ1bGxcbi8vIHdpZHRoIGluc3RlYWQsIHdpdGggdGhlIGRlc2lnbidzIGNhcmQgaGVpZ2h0IGFzIGEgZmxvb3IuXG5cbiRwaGMtcmVsYXRlZC1jYXJkLWhlaWdodDogcmVtLWNhbGMoMjIwcHgpO1xuXG4ucGhjLXJlbGF0ZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6ICRwaGMtYmxvY2stZ2FwO1xuXG4gIC8vIEZ1bGwgYmxlZWQsIG1hdGNoaW5nIHRoZSBmb290ZXIgYW5kIHRoZSBvdGhlciBibG9ja3Mg4oCUIHRoaXMgb25lIGlzIGEgYmFuZFxuICAvLyBhY3Jvc3MgdGhlIHBhZ2UgcmF0aGVyIHRoYW4gYSBjb2x1bW4gb2YgcmVhZGluZyBtYXR0ZXIsIHNvIGEgY2VudHJlZCBjYXBcbiAgLy8gd291bGQgbGVhdmUgaXRzIGdyb3VuZCBzdG9wcGluZyBzaG9ydCBvZiB0aGUgZWRnZXMuXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkcGhjLWJsb2NrLXBhZGRpbmc7XG5cbiAgLy8gU2FtZSBjb250cmFzdGluZyBiYW5kIGFzIHRoZSBmb290ZXIsIHNvIHRoaXMgYmxvY2sgcmVhZHMgYXMgYSBicmVhayBmcm9tXG4gIC8vIHRoZSBwYWdlIHJhdGhlciB0aGFuIHBhcnQgb2YgaXQg4oCUIGxpZ2h0IG9uIGEgZGFyayBwYWdlLCBkYXJrIG9uIGEgbGlnaHQgb25lLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waGMtY29udHJhc3QtYmcpO1xuICBjb2xvcjogdmFyKC0tcGhjLWNvbnRyYXN0LWZnKTtcblxuICAmX19oZWFkaW5nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgMDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxNDQwIC8gNzIwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAkcGhjLWJsb2NrLWdhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gVGhlIGltYWdlIGlzIHRoZSBjYXJkJ3MgYmFja2dyb3VuZCwgc28gaXQgc2l0cyBiZWhpbmQgdGhlIGNhcHRpb24gcmF0aGVyXG4gIC8vIHRoYW4gaW4gdGhlIGZsb3cuIG9iamVjdC1maXQga2VlcHMgdGhlIGNyb3AgY2VudHJlZCBhdCBhbnkgY2FyZCBzaXplLlxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC8vIFRoZSBjYXB0aW9uIHNpdHMgb24gYSBwaG90b2dyYXBoLCBzbyBpdCBmb2xsb3dzIHRoZSBpbWFnZSByYXRoZXIgdGhhbiB0aGVcbiAgLy8gcGFnZTogZWFjaCBwcm9qZWN0IGNhcnJpZXMgaXRzIG93biBsaWdodC1vci1kYXJrIGNob2ljZSBhcyBhIHRleHQtd2hpdGUgb3JcbiAgLy8gdGV4dC1ibGFjayBjbGFzcywgdGhlIHNhbWUgb25lIHRoZSBjb250ZW50IGdyaWQgcmVhZHMuIFRoaXMgaXMgb25seSB0aGVcbiAgLy8gZmFsbGJhY2sgZm9yIGEgcHJvamVjdCB0aGF0IGhhcyBuZXZlciBiZWVuIHNldC5cbiAgJl9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogdmFyKC0tcGhjLXdoaXRlLWFmKTtcbiAgfVxuXG4gICZfX2NsaWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gIC5waGMtcmVsYXRlZCB7XG4gICAgcGFkZGluZzogJG1vYmlsZS1tYXJnaW47XG5cbiAgICAmX19jYXJkIHtcbiAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgICAvLyBTdGFja2VkLCBhIGNhcmQgZm9sbG93aW5nIGl0cyBhc3BlY3QgYWxvbmUgd291bGQgZ2V0IHNoYWxsb3cgb24gYVxuICAgICAgLy8gbmFycm93IHBob25lLCBzbyB0aGUgZGVzaWduJ3MgaGVpZ2h0IHN0YW5kcyB1bmRlciBpdCBoZXJlLlxuICAgICAgbWluLWhlaWdodDogJHBoYy1yZWxhdGVkLWNhcmQtaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiXG4uaW50cm8tc2VjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5pbnRyby1zZWN0aW9uIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKS8zKTtcbiAgcGFkZGluZzogNDBweCAwIDY1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAmX19sZWZ0LWNvbCB7XG4gICAgd2lkdGg6IHZhcigtLWNvbC00KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNvbC0xKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tY29sLTEpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmX19yaWdodC1jb2wge1xuICAgIHdpZHRoOiB2YXIoLS1jb2wtNSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG4gIH1cblxuICAmX19oMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG4gIH1cblxuICAmX19jYWxsIHtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogNTA7XG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaW50cm8tc2VjdGlvbl9fYXJyb3cge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbnRyby1zZWN0aW9uX19hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4ycyBlYXNlLW91dDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5hcnJvdy1zbGlkaW5nLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLmZsb3ctYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjdzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5hcnJvdy1zbGlkaW5nLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5hcnJvdy1zbGlkaW5nLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDhweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1uby1saW5rIHtcbiAgICAuYXJyb3ctc2xpZGluZy1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uaW50cm8tc2VjdGlvbl9fdGV4dC0tbWlkZGxlLWdyZXkge1xuICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xufVxuXG5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuXG4gIC5pbnRyby1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwICRtb2JpbGUtbWFyZ2luO1xuICB9XG5cbiAgLmludHJvLXNlY3Rpb25fX2xlZnQtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuaW50cm8tc2VjdGlvbl9fcmlnaHQtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuICB9XG5cbiAgLmludHJvLXNlY3Rpb25fX2gxIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5pbnRyby1zZWN0aW9uX190ZXh0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc2VjdGlvbi1tYXJnaW4pIC8gMik7XG4gIH1cblxuICAuaW50cm8tc2VjdGlvbl9fY2FsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgfVxufVxuIiwiLy8gU3ViLXNlY3Rpb25zIG9mIHRoZSBGbGV4aWJsZSBDb250ZW50XG5cblxuLy8gU3BlY2lmaWMgcnVsZXMgZm9yIHNlY3Rpb24td3JhcHBlclxuLnNlY3Rpb24td3JhcHBlciB7XG4gICRwOiAmO1xuXG4gICYtLTUwIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cblxuLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrIHtcbiAgJGFwYjogJjtcbiAgJi0tY29scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgLy8gVGhlIGltYWdlIGNvbHVtbnMgd3JhcCB0aGVpciA8aW1nPiBpbiBhIDxwaWN0dXJlPiBzbyBhIG5hcnJvdyBzY3JlZW4gY2FuXG4gICAgLy8gYmUgaGFuZGVkIGEgZGlmZmVyZW50IGNyb3AuIGBjb250ZW50c2Aga2VlcHMgdGhhdCB3cmFwcGVyIG91dCBvZiB0aGUgYm94XG4gICAgLy8gdHJlZSwgc28gdGhlIGltZyBzdGF5cyBhIGRpcmVjdCBjaGlsZCBvZiAuY29sIGFuZCBldmVyeSBydWxlIGJlbG93IOKAlFxuICAgIC8vIGluY2x1ZGluZyB0aGUgb2JqZWN0LWZpdCBvbmVzIGluIHRoZSB0d28tY29sdW1uIHN0eWxlcywgd2hpY2ggbWVhc3VyZSB0aGVcbiAgICAvLyBpbWcgYWdhaW5zdCB0aGUgY29sdW1uJ3Mgb3duIGhlaWdodCDigJQgZ29lcyBvbiB3b3JraW5nIHVuY2hhbmdlZC5cbiAgICBwaWN0dXJlIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmNvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi0tdmlkZW8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMSUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTIge1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuY29sIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAmI3skYXBifS0tdHdvLWNvbC1zdHlsZS0yLTEge1xuICAgICAgICAgIC5jb2wge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS12aWRlbzpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWltYWdlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYjeyRhcGJ9LS10d28tY29sLXN0eWxlLTEtMiB7XG4gICAgICAgICAgLmNvbCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmlkZW86Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMSUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0taW1hZ2U6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmNvbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG5cbiAgICAgICAgICAmLS12aWRlbyB7XG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgd2lkdGg6IDIwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDElICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLTQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICAgIH1cbiAgICAgIC5jb2wge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS01e1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmNvbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zZWN0aW9uLXdyYXBwZXIge1xuICAkcDogJjtcbiAgJGNvbHM6IFwiLmFydGljbGUtcGFyYWdyYXBoLWJsb2NrLS1jb2xzXCI7XG5cbiAgJi0tdGVtcGxhdGUtMiB7XG4gICAgJGZ1bGxfbWFyZ2luOiBjYWxjKDEwMCUgLyAxMiAvIDQpO1xuICAgICRoYWxmX21hcmdpbjogY2FsYyg1MCUgLyAxMiAvIDQpO1xuXG4gICAgJiN7JHB9LS1zcGFjZXIge1xuICAgICAgcGFkZGluZy10b3A6ICRmdWxsLW1hcmdpbjtcbiAgICB9XG5cbiAgICAjeyRjb2xzfSB7XG5cbiAgICAgIHBhZGRpbmctbGVmdDogJGZ1bGxfbWFyZ2luO1xuICAgICAgcGFkZGluZy1yaWdodDogJGZ1bGxfbWFyZ2luO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIC5jb2wge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhhbGZfbWFyZ2luO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRoYWxmX21hcmdpbjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS10ZW1wbGF0ZS0zIHtcbiAgICAkZnVsbF9tYXJnaW46IGNhbGMoMTAwJSAvIDEyIC8gMik7XG4gICAgJGhhbGZfbWFyZ2luOiBjYWxjKDUwJSAvIDEyIC8gMik7XG5cbiAgICAmI3skcH0tLXNwYWNlciB7XG4gICAgICBwYWRkaW5nLXRvcDogJGZ1bGwtbWFyZ2luO1xuICAgIH1cblxuICAgICN7JGNvbHN9IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGZ1bGxfbWFyZ2luO1xuICAgICAgcGFkZGluZy1yaWdodDogJGZ1bGxfbWFyZ2luO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIC5jb2wge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhhbGZfbWFyZ2luO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRoYWxmX21hcmdpbjtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS10ZW1wbGF0ZS00IHtcbiAgICAkZnVsbF9tYXJnaW46IGNhbGMoMTAwJSAvIDEyKTtcbiAgICAkaGFsZl9tYXJnaW46IGNhbGMoNTAlIC8gMTIpO1xuICAgICRxdWFydGVyX21hcmdpbjogY2FsYygyNSUgLyAxMik7IC8vIFVzZWQgZm9yIGltYWdlc1xuXG4gICAgJiN7JHB9LS1zcGFjZXIge1xuICAgICAgcGFkZGluZy10b3A6ICRmdWxsLW1hcmdpbjtcbiAgICB9XG5cbiAgICAjeyRjb2xzfSB7XG5cbiAgICAgIHBhZGRpbmctbGVmdDogJGZ1bGxfbWFyZ2luO1xuICAgICAgcGFkZGluZy1yaWdodDogJGZ1bGxfbWFyZ2luO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIC5jb2wge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhhbGZfbWFyZ2luO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRoYWxmX21hcmdpbjtcblxuICAgICAgICAgICYtLWltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHF1YXJ0ZXJfbWFyZ2luO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHF1YXJ0ZXJfbWFyZ2luO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhcmFncmFwaC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wYXJhZ3JhcGgtYmxvY2tfX2xlZnRjb2wsXG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbCB7XG5cbiAgaDUsXG4gIGg0LFxuICBoMyxcbiAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLWJsb2NrX19sZWZ0Y29sIHtcblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgLy8gSW4gY2FzZSBvZiBXWVNJV1lHIG5lc3RlZCBwYXJhZ3JhcGhcbiAgICAgICYsIHAge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgICB9XG5cbiAgICAgIGIge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24td3JhcHBlci0tYmxhY2sgJiB7XG5cbiAgICBoNSxcbiAgICBoNCxcbiAgICBoMyxcbiAgICBoMiB7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICB3aWR0aDogdmFyKC0tY29sLTMpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jb2wtMSk7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAuYXJ0aWNsZS1wYXJhZ3JhcGgtYmxvY2stLXBhcmFncmFwaF9jb2xzICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuICAgIH1cblxuICAgICYtLW51bWJlcl9maWVsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnBhcmFncmFwaC1ibG9ja19fcmlnaHRjb2wge1xuXG4gIGg1LFxuICBoNCxcbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICBoNCxcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cblxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGg0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICB3aWR0aDogdmFyKC0tY29sLTcpO1xuICB9XG5cbiAgPiBwIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5sYXJnZS1udW1iZXJzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5sYXJnZS1udW1iZXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLWJsb2NrX19yaWdodGNvbC0taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zZWN0aW9uLW1hcmdpbik7XG59XG5cbi5sYXJnZS1udW1iZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJjaGFwLWxpZ2h0XCI7XG4gIGZvbnQtc2l6ZTogMjMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMzBweDtcbiAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xN3B4O1xuICBtYXJnaW46IDAgMCA4cHg7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0yMHB4O1xuXG4gIC5pcy1tYWMgJiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLy8gTWFrZSBsYXJnZS1udW1iZXIgd2hpdGUgaWYgb24gYSByZWQgYmFja2dyb3VuZFxuICAuYmFja2dyb3VuZC1yZWQgJixcbiAgLnNlY3Rpb24td3JhcHBlci0tcmVkICYge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIH1cblxuICAmLS1udW1iZXIge1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiBsaW5pbmctbnVtcztcbiAgfVxuXG4gICYtLXBlcmNlbnQge1xuICAgIGZvbnQtc2l6ZTogMTIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1M3B4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cbiAgICAuaXMtbWFjICYge1xuICAgICAgbGluZS1oZWlnaHQ6IDE3NnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcHRpb24ge1xuICAgIC8vIEluIGNhc2Ugb2YgV1lTSVdZRyBwYXJhZ3JhcGhzXG4gICAgJiwgcCB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAtNDVweDtcblxuICAgIGkge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6IHZhcigtLW1pZGRsZS1ncmV5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBmb250LXNpemU6IDExNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMTVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTdweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICYtLXBlcmNlbnQge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDc0cHg7XG5cbiAgICAgIC5pcy1tYWMgJiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA4OHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcblxuICAgICAgLmlzLW1hYyAmIHtcbiAgICAgICAgdG9wOiAtMjRweDtcbiAgICAgIH1cblxuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXJnZS1udW1iZXItd3JhcHBlcjpmaXJzdC1jaGlsZCAmIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICZfX2NhcHRpb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPG1vYmlsZS1sJykge1xuICAgIGZvbnQtc2l6ZTogODVweDtcbiAgICBsaW5lLWhlaWdodDogMTAycHg7XG4gIH1cbn1cblxuXG4uYXJ0aWNsZS1tYWluLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZDQ5MjU7XG4gIC8vIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMjBweCAwO1xuXG4gIC8vIHAge1xuICAvLyAgIGNvbG9yOiB3aGl0ZTtcbiAgLy8gfVxuXG4gIC8vIGgzIHtcbiAgLy8gICBjb2xvcjogd2hpdGU7XG4gIC8vIH1cbn1cblxuLmludHJvLXNlY3Rpb24tY29udGFpbmVyLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZDQ5MjUgIWltcG9ydGFudDtcbiAgLy8gY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG59XG5cbi50YWJsZS1wbGFpbl9fY2VsbCB7XG4gIHBhZGRpbmc6IDBweCAzMHB4IDM1cHggMDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgfVxufVxuXG4udGFibGUtcGxhaW4tLXJvdy1zZXBhcmF0b3JzIHtcbiAgLnRhYmxlLXBsYWluX19jZWxsIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYmxhY2spO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJykge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1ibGFjayAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaGlkZXMgdGhlIGxhc3QgYm9yZGVyIGluIHRoZSBsYXN0IHR3byBjb2x1bW5zIG9ubHlcbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgLnRhYmxlLXBsYWluX19jb2w6bnRoLWxhc3QtY2hpbGQoLW4rMikge1xuICAgICAgLnRhYmxlLXBsYWluX19jZWxsIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkKCkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFydGljbGUtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAaW5jbHVkZSB6b29tRmFkZUluVHJhbnNpdGlvbjtcblxuICAgICYubGF6eWxvYWRlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zKTtcbiAgICAgIHdpZHRoOiA2NiU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMjBweCAwO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuXG4uYXJ0aWNsZS1pbWFnZS5hcnRpY2xlLWltYWdlLS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pO1xuXG4gIC5iYWNrZ3JvdW5kOm5vdCguYmFja2dyb3VuZC13aGl0ZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiAzMHB4O1xuICB6LWluZGV4OiAzMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmFydGljbGUtaW1hZ2UtY2FsbG91dC0tYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDMwcHg7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAyNHB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG59XG5cbi5hcnRpY2xlLWltYWdlLS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogY2FsYygoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkvMikgKyB2YXIoLS1zaXRlLXdpZHRoKSAvIDEyKTtcblxuICAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgICBsZWZ0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSArIHZhcigtLWNvbC0xKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkvMikgKyB2YXIoLS1zaXRlLXdpZHRoKSAvIDEyICsgMzBweCk7XG4gIH1cbn1cblxuLmFydGljbGUtaW1hZ2UtLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSArIHZhcigtLXNpdGUtd2lkdGgpIC8gMTIpO1xuXG4gIC5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICAgIGxlZnQ6IGNhbGMoKCgxMDB2dyAtICgxMDB2dyAtIDEwMCUpIC0gdmFyKC0tc2l0ZS13aWR0aCkpLzIpICsgdmFyKC0tY29sLTEpICsgKDMwcHgpKTtcbiAgfVxufVxuXG4uYXJ0aWNsZS1pbWFnZS0tY2VudGVyIHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoKCgxMDB2dyAtICgxMDB2dyAtIDEwMCUpIC0gdmFyKC0tc2l0ZS13aWR0aCkpLzIpKTtcblxuICAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKCgxMDB2dyAtICgxMDB2dyAtIDEwMCUpIC0gdmFyKC0tc2l0ZS13aWR0aCkpLzIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSArIDMwcHgpO1xuICB9XG59XG5cbi5hcnRpY2xlLWltYWdlLS10ZXh0LWNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29sLTMpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG5cbiAgLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gICAgbGVmdDogY2FsYygoKDEwMHZ3IC0gKDEwMHZ3IC0gMTAwJSkgLSB2YXIoLS1zaXRlLXdpZHRoKSkvMikgKyB2YXIoLS1jb2wtMykgKyAoMzBweCkpO1xuICAgIHJpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jb2wtMSkpO1xuICB9XG59XG5cbi5hcnRpY2xlLWltYWdlLS10ZXh0LWNvbHVtbi13aWRlIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb2wtMSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbC0xKTtcblxuICAuYXJ0aWNsZS1pbWFnZS1jYWxsb3V0IHtcbiAgICBsZWZ0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSArIHZhcigtLWNvbC0xKSArICgzMHB4KSk7XG4gICAgcmlnaHQ6IGNhbGMoMzBweCArIHZhcigtLWNvbC0xKSk7XG4gIH1cbn1cblxuLmFydGljbGUtaW1hZ2UtLXNsaW0tbWFyZ2luIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG4gIC5hcnRpY2xlLWltYWdlLWNhbGxvdXQge1xuICAgIGxlZnQ6IDYwcHg7XG4gIH1cbn1cblxuLmFydGljbGUtaW1hZ2UtLW1hcmdpbiB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tY29sLTEpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2wtMSk7XG5cbiAgLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1jb2wtMSkgKyAoMzBweCkpO1xuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgLmFydGljbGUtaW1hZ2UtY2FsbG91dCB7XG4gICAgICBsZWZ0OiBjYWxjKCgoMTAwdncgLSAoMTAwdncgLSAxMDAlKSAtIHZhcigtLXNpdGUtd2lkdGgpKS8yKSArICgyMHB4KSk7XG5cbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyBoZWlnaHQ6IDUwMHB4O1xuXG4gICYuYWx0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tY29sLTEpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IHZhcigtLWNvbC0zKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctcyk7XG4gICAgfVxuICB9XG5cbiAgJl9fcC0tYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5iYWNrZ3JvdW5kLWNhcHB1Y2Npbm8gJiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHdpZHRoOiB2YXIoLS1jb2wtOCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMzUlOyAvLyBHZXRzIHJvdWdobHkgMTY6OSBkdWUgdG8gaXQgbm90IGJlaW5nIGluIGEgY29sdW1uXG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoNTYuMjUlICogOC8xMik7XG4gIH1cblxuICAmX19pbWFnZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblxuICAuYXJ0aWNsZS1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBwYWRkaW5nOiAwICRtb2JpbGUtbWFyZ2luO1xuICAgIH1cblxuICAgICYuYWx0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICB9XG5cbiAgICAmX19wLS1ib3R0b20ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAtMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAuZG90IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYXkpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgLmFydGljbGUtc2xpZGUge1xuICAgICZfX2ltYWdlLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi52aW1lby1wbGF5ZXIge1xuICA+IGRpdiB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIuY29udGVudC1ncmlkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZXh0ZW5zaW9uLWNvbnRlbnQtZ3JpZCk7XG59XG5cbi53cmFwcGVyLWdyaWQtZmlsdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogLTFweDtcbiAgei1pbmRleDogMzAwO1xufVxuXG5cbi5ncmlkLWZpbHRlci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmdyaWQtZmlsdGVyX19saW5lLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMycHggMTJyZW0gMzJweCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjY2KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cbiAgZm9udC1zaXplOiByZW0tY2FsYygzNXB4KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAxO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBleDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcC1sJykge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cbn1cblxuLmdyaWQtZmlsdGVyLWNvbnRhaW5lci5zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5ncmlkLWZpbHRlcl9fc2VsZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ncmlkLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDNweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG5cbiAgJi0taGVhZGluZyB7XG4gICAgaGVpZ2h0OiAxMDZweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgIHBhZGRpbmc6IDQwcHggMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxOHB4IDIwcHggMThweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24td3JhcHBlci0tcmVsYXRlZC1hcnRpY2xlcy1oZWFkZXIge1xuICAucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jb2wtMSk7XG4gIH1cbn1cblxuLnNlY3Rpb24td3JhcHBlci0tcmVsYXRlZC1hcnRpY2xlcyB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICY6bm90KC5kb250LWhpZGUtbGFzdC1hcnRpY2xlKSB7XG4gICAgICAuZmxvdy1ibG9jayB7XG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZsb3ctYmxvY2sge1xuICAgICYuYWN0aXZlOm50aC1jaGlsZCg3biszKSAuZmxvdy1ibG9jay1iZy0tc3F1YXJlLFxuICAgIC5mbG93LWJsb2NrLWJnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIFNob3cgZm9yIG1vYmlsZSBhbmQgdGFibGV0XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZsb3ctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IHZhcigtLXNpdGUtd2lkdGgpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZsb3ctYmxvY2sge1xuICAmX192aWRlby1jb250YWluZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAuY29sLXNpemUtdHdvLWNvbCB7XG4gICAgLmZsb3ctYmxvY2sge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC5kdW1teSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbC1zaXplLXRocmVlLWNvbCB7XG4gICAgLmZsb3ctYmxvY2sge1xuICAgICAgd2lkdGg6IDMzLjMzMyUgIWltcG9ydGFudDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAuZHVtbXkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi5mbG93LWJsb2NrLWJnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgem9vbUZhZGVJblRyYW5zaXRpb247XG59XG5cblxuLy8gLmZsb3ctYmxvY2stYmctLXNxdWFyZSB7XG4vLyAgIGRpc3BsYXk6IG5vbmU7XG4vLyB9XG5cbi8vIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vIH1cbi5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxvdy1ibG9jay1oMiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogNTA7XG5cbiAgQGluY2x1ZGUgZmFkZUFuZFNsaWRlSW5UcmFuc2l0aW9uKCk7XG5cbiAgLmltYWdlLWxhenlsb2FkZWQgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbG93LWJsb2NrLWJnLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmxvdy1ibG9jay1jYXRlZ29yeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fcGFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5cbi5mbG93LWJsb2NrLWgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBmb250LXdlaWdodDogNTAwOyAvLyA2MDAgYWNjb3JkaW5nIHRvIGRlc2lnbj9cbiAgbGV0dGVyLXNwYWNpbmc6ICR0aWdodC1rZXJuaW5nO1xuXG4gIC8vIE5vcm1hbCBzaGFkb3dzXG4gIC5zaGFkb3ctMSAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIC4xKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAuc2hhZG93LTIgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAuMiksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG5cbiAgLnNoYWRvdy0zICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgLjMpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuXG4gIC5zaGFkb3ctNCAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIC40KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAuc2hhZG93LTUgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG5cbiAgLy8gQm90dG9tIFNoYWRvd3NcbiAgLmZsb3ctYmxvY2stLWJvdHRvbS5zaGFkb3ctMSAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIC4xKSk7XG4gIH1cblxuICAuZmxvdy1ibG9jay0tYm90dG9tLnNoYWRvdy0yICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgLjIpKTtcbiAgfVxuXG4gIC5mbG93LWJsb2NrLS1ib3R0b20uc2hhZG93LTMgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAuMykpO1xuICB9XG5cbiAgLmZsb3ctYmxvY2stLWJvdHRvbS5zaGFkb3ctNCAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIC40KSk7XG4gIH1cblxuICAuZmxvdy1ibG9jay0tYm90dG9tLnNoYWRvdy01ICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgfVxuXG4gIC5mbG93LWJsb2NrLS1udWxsICYge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cblxuICAuZmxvdy1ibG9jay0tYm90dG9tICYge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbn1cblxuLmZsb3ctYmxvY2suYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uLWRlbGF5OiBvcGFjaXR5IC42cztcbiAgd2lkdGg6IDMzLjMzJTtcblxuICAuZHVtbXkge1xuICAgIG1hcmdpbi10b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAxMDAlO1xuICB9XG5cbiAgLy8gd2lkdGg6IDUwJTtcbiAgd2lkdGg6IDEwMCU7IC8vIEJlY2F1c2UgNTAlIGlzIHRvbyBzbWFsbCBmb3IgdGhlIHRleHRcblxuICAuZmxvdy1ibG9ja19fdmlkZW8tY29udGFpbmVyIHtcbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAxMDAlIDAgMCAwICFpbXBvcnRhbnQ7XG5cbiAgICAgID4gaWZyYW1lIHtcblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICogMS44KSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXG4gICAgd2lkdGg6IDUwJTtcblxuICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuZmxvdy1ibG9jay1iZy0tc3F1YXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmZsb3ctYmxvY2stYmctLXJlY3RhbmdsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuZHVtbXkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTG9hZCBNb3JlXG5cbi5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zaXRlLXdpZHRoKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9hZC1tb3JlLWJhY2tncm91bmQpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiAxMDBweDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIiwgSGVsdmV0aWNhLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWwpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgfVxuICB9XG59XG5cbi5sb2FkLW1vcmUtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuXG5AaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblxuICAuZ3JpZC1maWx0ZXJfX2xpbmUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5ncmlkLWZpbHRlcl9fc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjYpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtb2JpbGUtbCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgICAgaGVpZ2h0OiBjYWxjKDM0cHggKyAxOHB4ICsgMThweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLWZpbHRlcl9fc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkludGVyXCIsIEhlbHZldGljYSwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgLy8gcGFkZGluZy1yaWdodDogMjZweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bW9iaWxlLWwnKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC1maWx0ZXJfX3RleHQge1xuICAgICZfX3ByZWZpeCB7XG4gICAgICBjb2xvcjogdmFyKC0tbWlkZGxlLWdyZXkpO1xuICAgIH1cblxuICAgIC53cmFwcGVyLmJsdXIgJiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuXG5cblxuICAuZ3JpZC1maWx0ZXJfX29wdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmxvdy1ibG9jayB7XG4gICAgcGFkZGluZzogMHB4O1xuICB9XG5cblxuICAuZmxvdy1ibG9jay1oMiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcblxuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cblxuICAuYXJ0aWNsZSB7XG4gICAgLmZsb3ctY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5mbG93LWJsb2NrLS0xLTMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgICAgIGJvcmRlcjogMzBweCBzb2xpZCBibGFjaztcbiAgICB9XG5cbiAgICAuZmxvdy1ibG9jay1oMiB7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICB9XG4gIH1cblxuICAucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIC5zZWN0aW9uLXdyYXBwZXItLXJlbGF0ZWQtYXJ0aWNsZXMtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgLnJlbGF0ZWQtYXJ0aWNsZXMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbW9iaWxlLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuXG4gIC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctbSk7XG4gIH1cbn1cblxuLmhpZGRlbl90bXBfc2VsZWN0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gIC5mbG93LWJsb2NrLWgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtcyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLXMpO1xuXG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC8vIC5mbG93LWJsb2NrLS1ib3R0b20gJiB7XG4gICAgLy8gICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweDtcbiAgICAvLyB9XG4gIH1cblxuICAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG5cbiAgLmxvYWQtbW9yZS1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgfVxufVxuIiwiLy8gR3JpZCBzaGFwZXMgZm9yIHRoZSByZWRlc2lnbi5cbi8vXG4vLyBUaGUgb3JpZ2luYWwgZ3JpZCBtaXhlcyBzaGFwZXMg4oCUIGV2ZXJ5IHRoaXJkIHBpZWNlIHJ1bnMgZnVsbCB3aWR0aCBhbmQgd2lkZSxcbi8vIHRoZSByZXN0IGFyZSBoYWxmLXdpZHRoIHNxdWFyZXMuIFRoZSByZWRlc2lnbiBkcm9wcyB0aGUgbWl4OiBhIHZpZXcgaXMgZWl0aGVyXG4vLyBhbGwgc3F1YXJlcyBvciBhbGwgd2lkZXMsIGFuZCB3aGljaCBvbmUgaXQgaXMgZmxpcHMgYmV0d2VlbiBicmVha3BvaW50cy5cbi8vXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIGRlc2t0b3AgLyB0YWJsZXQgICAgIG1vYmlsZVxuLy8gICBTaG93IGFsbCAgICAgICAgICAgICBzcXVhcmUgICAgICAgICAgICAgICB3aWRlXG4vLyAgIEEgY2F0ZWdvcnkgc2VsZWN0ZWQgIHdpZGUgICAgICAgICAgICAgICAgIHNxdWFyZVxuLy9cbi8vIFRoZSBpbnZlcnNpb24gaXMgZGVsaWJlcmF0ZSDigJQgc2VlIHRoZSBjbGllbnQncyBub3RlcyBvbiB0aGUgZmVlZC4gRXZlcnl0aGluZ1xuLy8gaGVyZSBpcyBzY29wZWQgdG8gLmNvbnRlbnQtZ3JpZC0tcGhjLCBzbyB0aGUgb3JpZ2luYWwgZ3JpZCBpcyB1bnRvdWNoZWQgb25cbi8vIHBhZ2VzIHRoYXQgaGF2ZSBub3QgbW92ZWQgYWNyb3NzLlxuLy9cbi8vIFRoZSBzaGFwZSBpdHNlbGYgaXMgdGhlIHRoZW1lJ3MgZXhpc3RpbmcgcGFkZGluZy1oYWNrOiAuZHVtbXkgYXQgMTAwJSB0b3Bcbi8vIG1hcmdpbiBnaXZlcyBhIHNxdWFyZSwgNTAlIGdpdmVzIHRoZSAyOjEgd2lkZSwgYW5kIHRoZSB0d28gYmFja2dyb3VuZCBsYXllcnNcbi8vIGFyZSBzd2FwcGVkIHRvIG1hdGNoIHNvIHRoZSByaWdodCBjcm9wIGlzIHVzZWQuXG5cbkBtaXhpbiBwaGMtZ3JpZC1zcXVhcmUge1xuICAuZmxvdy1ibG9jay1iZy0tc3F1YXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5mbG93LWJsb2NrLWJnLS1yZWN0YW5nbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZHVtbXkge1xuICAgIG1hcmdpbi10b3A6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIHBoYy1ncmlkLXdpZGUge1xuICAuZmxvdy1ibG9jay1iZy0tc3F1YXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZsb3ctYmxvY2stYmctLXJlY3RhbmdsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZHVtbXkge1xuICAgIG1hcmdpbi10b3A6IDUwJTtcbiAgfVxufVxuXG4uY29udGVudC1ncmlkLS1waGMge1xuXG4gIC8vIFRoZSBudGgtY2hpbGQgcnVsZSBpbiB0aGUgb3JpZ2luYWwgZ3JpZCBpcyB3aGF0IGNyZWF0ZXMgdGhlIG1peGVkIHBhdHRlcm4sXG4gIC8vIHNvIGl0IGhhcyB0byBiZSBvdmVycmlkZGVuIHJhdGhlciB0aGFuIG1lcmVseSBhZGRlZCB0by5cbiAgLmZsb3ctYmxvY2ssXG4gIC5mbG93LWJsb2NrOm50aC1jaGlsZCgzbisxKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cbiAgICAvLyBTaG93IGFsbDogc3F1YXJlcywgdHdvIHRvIGEgcm93LlxuICAgIC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nIC5mbG93LWJsb2NrLFxuICAgIC5mbG93LWJsb2NrLWNhdGVnb3J5LS1ldmVyeXRoaW5nIC5mbG93LWJsb2NrOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBwaGMtZ3JpZC1zcXVhcmU7XG4gICAgfVxuXG4gICAgLy8gQSBjYXRlZ29yeTogd2lkZXMsIG9uZSB0byBhIHJvdy5cbiAgICAuZmxvdy1ibG9jay1jYXRlZ29yeTpub3QoLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcpIC5mbG93LWJsb2NrLFxuICAgIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBwaGMtZ3JpZC13aWRlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuXG4gICAgLy8gTW9iaWxlIGludmVydHMgYm90aDogc2hvdyBhbGwgZ29lcyB3aWRlLCBhIGNhdGVnb3J5IGdvZXMgc3F1YXJlLiBFaXRoZXJcbiAgICAvLyB3YXkgZWFjaCBwaWVjZSB0YWtlcyB0aGUgZnVsbCB3aWR0aC5cbiAgICAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jayxcbiAgICAuZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZyAuZmxvdy1ibG9jazpudGgtY2hpbGQoM24rMSkge1xuICAgICAgQGluY2x1ZGUgcGhjLWdyaWQtd2lkZTtcbiAgICB9XG5cbiAgICAuZmxvdy1ibG9jay1jYXRlZ29yeTpub3QoLmZsb3ctYmxvY2stY2F0ZWdvcnktLWV2ZXJ5dGhpbmcpIC5mbG93LWJsb2NrLFxuICAgIC5mbG93LWJsb2NrLWNhdGVnb3J5Om5vdCguZmxvdy1ibG9jay1jYXRlZ29yeS0tZXZlcnl0aGluZykgLmZsb3ctYmxvY2s6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIEBpbmNsdWRlIHBoYy1ncmlkLXNxdWFyZTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXJkIGNhcHRpb25zIGNhcnJ5IHRleHQtcGhjLXN0YW5kYXJkIGZyb20gdGhlIGNhcmQgdGVtcGxhdGUsIHNvIG9ubHkgdGhlaXJcbiAgLy8gc3BhY2luZyBpcyBzZXQgaGVyZSDigJQgdGhlIG9yaWdpbmFsIGdyaWQncyA0MHB4IGlzIGZhciB0b28gbXVjaCBvbmNlIHRoZVxuICAvLyBjYXB0aW9uIHNpdHMgaW4gdGhlIGNvcm5lciBvZiB0aGUgaW1hZ2UgcmF0aGVyIHRoYW4gdGl0bGluZyBpdC5cbiAgLy9cbiAgLy8gVGhlIGNvbG91ciBpcyBsZWZ0IGFsb25lIHRvbzogaXQgY29tZXMgZnJvbSB0aGUgdGV4dC13aGl0ZSAvIHRleHQtYmxhY2tcbiAgLy8gY2xhc3MgZWFjaCBwcm9qZWN0IGNhcnJpZXMsIGNob3NlbiBhZ2FpbnN0IHRoYXQgcHJvamVjdCdzIG93biBpbWFnZS5cbiAgLmZsb3ctYmxvY2staDIge1xuICAgIHBhZGRpbmc6ICRwaGMtYmxvY2stZ2FwO1xuICB9XG59XG4iLCIud3JhcHBlci1oZXJvLXNsaWRlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWV4dGVuc2lvbi1ob21lLXNsaWRlcyk7XG59XG5cbi5oZXJvLXNsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogdmFyKC0tc2l0ZS13aWR0aCk7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG5cbiAgLnBseXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG59XG5cbi5oZXJvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvLyBoZWlnaHQ6IGNhbGMoKHZhcigtLXNpdGUtd2lkdGgpKSAqICgxLjE4NSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygodmFyKC0tc2l0ZS13aWR0aCkpICogKDkvMTYpKTtcblxuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDExOC41JTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICB3aWR0aDogMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtLXZpZGVvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIC8vIFJlbW92ZSBwb2ludGVyLWV2ZW50cyBpZiB3ZSBoYXZlIGEgYW5jaG9yIHRhZyB3cmFwcGVyXG4gICAgYSA+ICYge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcblxuICB9XG59XG5cbi8vIFRoZSBmcm9udCBwYWdlJ3MgbGluayB0byB0aGUgcHJvZmlsZSwgc3RhbmRpbmcgb24gdGhlIGhlcm8gaW1hZ2UgdGhlIHdheSBhXG4vLyBncmlkIGNhcmQncyBjYXB0aW9uIHN0YW5kcyBvbiBpdHMgcGljdHVyZTogdGhlIHNhbWUgdGV4dCBzdHlsZSwgdGhlIHNhbWVcbi8vIGNvcm5lciBwYWRkaW5nIHRoZSBjYXJkcyB1c2Ug4oCUIDQwIG9uIGRlc2t0b3AsIDIwIGJlbG93IHRhYmxldCDigJQgYW5kIGFcbi8vIHRyYWlsaW5nIGFycm93LiBUaGUgYXJyb3cgaXMgdGhlIGZvb3RlcidzIGxlYW5pbmcgLnBoYy1hcnJvdyByYXRoZXIgdGhhbiB0aGVcbi8vIGdyaWQncyBzbGlkaW5nIG9uZSwgc28gaXQgbW92ZXMgdGhlIHdheSBldmVyeSBvdGhlciByZWRlc2lnbiBsaW5rIGRvZXM7IHRoZVxuLy8gbGVhbiBpdHNlbGYgY29tZXMgZnJvbSB0aGUgc2hhcmVkIGE6aG92ZXIgcnVsZSBpbiBfYXJyb3cuc2Nzcy5cbi5oZXJvX19wcm9maWxlLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTIwO1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MHB4KTtcbiAgY29sb3I6IHZhcigtLXBoYy13aGl0ZS1hZik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMHB4KTtcbiAgfVxufVxuXG4uaGVyby1hcnRpY2xlIHtcbiAgJl9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6ICRtb2JpbGUtbWFyZ2luO1xuICAgIHJpZ2h0OiAkbW9iaWxlLW1hcmdpbjtcbiAgICBib3R0b206IDMwcHg7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICAvLyBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14eGwpO1xuICAgICAgLy8gbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXh4bCk7XG4gICAgICAvLyBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmcteHhsKTtcbiAgICAgIGxlZnQ6IHZhcigtLWNvbC0xKTtcbiAgICAgIHJpZ2h0OiB2YXIoLS1jb2wtMik7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmhlcm8tdmlkZW9fX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRtb2JpbGUtbWFyZ2luO1xuICByaWdodDogJG1vYmlsZS1tYXJnaW47XG4gIGJvdHRvbTogMjBweDtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXMpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zKTtcblxuICAgIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWwpO1xuICAgIGxlZnQ6IHZhcigtLWNvbC0xKTtcbiAgICByaWdodDogdmFyKC0tY29sLTEpO1xuICB9XG59XG5cblxuXG4udGFnbGluZSB7XG4gIGxlZnQ6IHZhcigtLWNvbC0xKTtcbiAgcmlnaHQ6IHZhcigtLWNvbC0xKTtcbn1cblxuLmNlbnRlci10YWdsaW5lIHtcbiAgLnRhZ2xpbmUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogJG1vYmlsZS1tYXJnaW47XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgd2lkdGg6IHZhcigtLWNvbC0xMCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIH1cbiAgfVxufVxuXG4uYm90dG9tLXRhZ2xpbmUge1xuICAudGFnbGluZSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAkbW9iaWxlLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGJvdHRvbTogNDBweDtcbiAgICAgIC8vIGxlZnQ6IHZhcigtLWNvbC0xKTtcbiAgICAgIGxlZnQ6IHZhcigtLWNvbC0xKVxuICAgIH1cbiAgfVxufVxuXG4udG9wLXRhZ2xpbmUge1xuICAudGFnbGluZSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAkbW9iaWxlLW1hcmdpbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIHRvcDogMTQ1cHg7XG4gICAgICAvLyBsZWZ0OiB2YXIoLS1jb2wtMSk7XG4gICAgICBsZWZ0OiB2YXIoLS1jb2wtMSlcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBAaW5jbHVkZSB6b29tRmFkZUluVHJhbnNpdGlvbjtcblxuICAmLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHotaW5kZXg6IDExMDtcbiAgfVxuXG5cbiAgJl9faW1nIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG5cbiAgICBAaW5jbHVkZSB6b29tRmFkZUluVHJhbnNpdGlvbjtcblxuICAgICYubGF6eWxvYWRlZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblxuICAgICZfX2ltZyB7XG4gICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi0tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVyby0taGFzdGh1bWJuYWlscyAuYm90dG9tLXRhZ2xpbmUge1xuICAudGFnbGluZSB7XG5cbiAgICBib3R0b206IDQ0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBib3R0b206IDQ1cHg7XG4gICAgICBsZWZ0OiAkbW9iaWxlLW1hcmdpbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICBib3R0b206IDgwcHg7XG4gICAgICBsZWZ0OiB2YXIoLS1jb2wtMSlcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tLWhhc3RodW1ibmFpbHMgLnRvcC10YWdsaW5lIHtcbiAgLnRhZ2xpbmUge1xuICAgIGJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4uaGVyby0taGFzdGh1bWJuYWlscyAuY2VudGVyLXRhZ2xpbmUge1xuICAudGFnbGluZSB7XG4gICAgYm90dG9tOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgYm90dG9tOiB0b3A7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLXNsaWRlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxOTk7XG5cbiAgLnRhZ2xpbmU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKGklwiO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDtcblxuICB9XG5cbiAgLnRhZ2xpbmU6aG92ZXI6OmFmdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi50YWdsaW5lIHtcbiAgJHA6ICY7XG4gIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogXCJJbnRlclwiLCBIZWx2ZXRpY2EsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1sKTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDFzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAvLyAmX19hcnJvdyB7XG4gIC8vICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvLyAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgLy8gfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLW0pO1xuICAgIC8vIGJyIHtcbiAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy8gfVxuXG4gICAgJi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDg5dmg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxlZnQ6ICRtb2JpbGUtbWFyZ2luO1xuICB9XG59XG5cbi5zbGlkZXMtdGh1bWJuYWlscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTUwO1xuICBib3R0b206IDQ0cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbGVmdDogMzMuMzMlO1xuICByaWdodDogMzMuMzMlO1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb2wtNCk7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5zbGlkZXMtdGh1bWJuYWlsX19pbWcge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLS1oYXN0aHVtYm5haWxzIC5zbGlkZXMtdGh1bWJuYWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zbGlkZXMtdGh1bWJuYWlsIHtcbiAgd2lkdGg6IGNhbGMoKCh2YXIoLS1jb2wtNCkpIC0xNnB4KSAvIDMpO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMCA0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAxO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMHB4O1xuICB9XG5cbiAgJl9faW1nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuXG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggNC41cyBsaW5lYXI7XG4gICAgfVxuICB9XG5cbiAgJi0xIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuICB9XG5cbiAgJi0yIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wN3M7XG4gICAgfVxuICB9XG5cbiAgJi0zIHtcbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNHM7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuXG4gIC5zbGlkZXMtdGh1bWJuYWlscyB7XG4gICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAkbW9iaWxlLW1hcmdpbjtcbiAgICByaWdodDogJG1vYmlsZS1tYXJnaW47XG4gICAgYm90dG9tOiAkbW9iaWxlLW1hcmdpbjtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtICgyICogI3skbW9iaWxlLW1hcmdpbn0pKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuXG5cbn1cblxuQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gIC5zbGlkZXMtdGh1bWJuYWlsX19pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qXG4gIFBsdWdpbiBtYXJrdXAgZm9yIEdEUFIgcG9wdXBcblxuXG48ZGl2IGNsYXNzPVwiY2xpLWJhci1jb250YWluZXIgY2xpLXN0eWxlLXYyXCI+XG48ZGl2IGNsYXNzPVwiY2xpLWJhci1oZWFkZXJcIj5XZSB1c2UgY29va2llczwvZGl2PlxuPGRpdiBjbGFzcz1cImNsaS1iYXItbWVzc2FnZVwiPldlIHVzZSBjb29raWVzIHRvIG9mZmVyIHlvdSBhIGJldHRlciBleHBlcmllbmNlIGFuZCBhbmFseXplIHNpdGUgdHJhZmZpYy4gRm9yIG1vcmUgZGV0YWlsZWQgaW5mb3JtYXRpb24sIHZpZXcgb3VyIDxhIGhyZWY9XCIvcHJpdmFjeS1wb2xpY3ktd2Vic2l0ZS9cIiBjbGFzcz1cImFycm93LWxpbmtcIj5Qcml2YWN5IHBvbGljeTwvYT48L2Rpdj5cbjxkaXYgY2xhc3M9XCJjbGktYmFyLWJ1dHRvbnNcIj5cbltjb29raWVfcmVqZWN0XVtjb29raWVfYnV0dG9uXVxuPC9kaXY+XG48L2Rpdj5cbiovXG5cbi8vIE92ZXJyaWRlcyBmb3IgR0RQUiBDb29raWUgcG9wdXBcbiNjb29raWUtbGF3LWluZm8tYmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogdmFyKC0tc2VjdGlvbi1tYXJnaW4pICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogdmFyKC0tc2VjdGlvbi1tYXJnaW4pICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IHZhcigtLXNlY3Rpb24tbWFyZ2luKSAhaW1wb3J0YW50O1xuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY2xpLWJhci1oZWFkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW0pO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1tKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAuY2xpLWJhci1tZXNzYWdlIHtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1taWRkbGUtZ3JleSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgIEBtZWRpYShob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jbGlfYWN0aW9uX2J1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbiAgICBtYXJnaW46IDI0cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQ2JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiA0cHggMTZweDtcblxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIC5jbGktYmFyLWJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAuY2xpX2FjdGlvbl9idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGV4dCBzdHlsZSB1dGlsaXRpZXMg4oCUIG9uZSBjbGFzcyBwZXIgRmlnbWEgdGV4dCBzdHlsZSwgYXBwbGllZCBpbiBtYXJrdXA6XG4vL1xuLy8gICA8ZGl2IGNsYXNzPVwicGhjLWJsb2NrX19sYWJlbCB0ZXh0LXBoYy1zdGFuZGFyZFwiPlxuLy9cbi8vIFRoZSBsYXlvdXQgY2xhc3NlcyBoYW5kbGUgd2lkdGhzIGFuZCBmbG93OyB0aGVzZSBoYW5kbGUgdHlwZS4gS2VlcGluZyB0aGVtXG4vLyBhcGFydCBtZWFucyBhIGJsb2NrIGNhbiBjaGFuZ2UgaXRzIHR5cGUgd2l0aG91dCB0b3VjaGluZyBpdHMgZ2VvbWV0cnkuXG4vL1xuLy8gR2VuZXJhdGVkIGZyb20gdGhlICRwaGMtdHlwZSBtYXAgcmF0aGVyIHRoYW4gd3JpdHRlbiBvdXQsIHNvIGEgY2xhc3MgYW5kIGl0c1xuLy8gdG9rZW4gY2Fubm90IGRyaWZ0IGFwYXJ0LiBBZGQgYSB0b2tlbiB0aGVyZSBhbmQgaXRzIHV0aWxpdHkgYXBwZWFycyBoZXJlLlxuLy9cbi8vIFRocmVlIGRlbGliZXJhdGUgZGlmZmVyZW5jZXMgZnJvbSB0aGUgc3R5bGVzIGV4cG9ydGVkIG91dCBvZiBGaWdtYTpcbi8vXG4vLyAgIGxldHRlci1zcGFjaW5nICBUaGUgZXhwb3J0IHVzZWQgcGVyY2VudGFnZXMgKC01JSkuIENTUyBsZXR0ZXItc3BhY2luZyBkb2VzXG4vLyAgICAgICAgICAgICAgICAgICBub3QgYWNjZXB0IHBlcmNlbnRhZ2VzLCBzbyBicm93c2VycyBkcm9wIHRoZSBkZWNsYXJhdGlvblxuLy8gICAgICAgICAgICAgICAgICAgZW50aXJlbHkgYW5kIHRoZSB0cmFja2luZyBpcyBzaWxlbnRseSBsb3N0LiBlbSBpcyB0aGVcbi8vICAgICAgICAgICAgICAgICAgIGVxdWl2YWxlbnQgdW5pdCDigJQgLTUlIG9mIHRoZSBmb250IHNpemUgaXMgLTAuMDVlbS5cbi8vXG4vLyAgIGxpbmUtaGVpZ2h0ICAgICBUaGUgZXhwb3J0IHVzZWQgYSBmbGF0IDEuMiwgd2hpY2ggaXMgbm90IHdoYXQgYW55IG9mIHRoZXNlXG4vLyAgICAgICAgICAgICAgICAgICBzdHlsZXMgaXMgc2V0IHRvIGluIEZpZ21hLiBSZWFsIHZhbHVlcyByYW5nZSBmcm9tIDEuMDJcbi8vICAgICAgICAgICAgICAgICAgIChwYWdlZmlndXJlc3N1cHBvcnQpIHRvIDEuMzMgKHN0YW5kYXJkLWpwKTsgb24gdGhlIDY0cHhcbi8vICAgICAgICAgICAgICAgICAgIHRpdGxlLCAxLjIgZ2l2ZXMgNzYuOHB4IGFnYWluc3QgdGhlIGRlc2lnbidzIDY2cHguXG4vL1xuLy8gICBmb250LXdlaWdodCAgICAgVGhlIGV4cG9ydCBhc2tlZCBmb3IgNzAwIG9uIHBhZ2VmaWd1cmVzLFxuLy8gICAgICAgICAgICAgICAgICAgcGFnZWZpZ3VyZXNzdXBwb3J0IGFuZCBmb290ZXJsaW5rYWdlLiBGaWdtYSByZXBvcnRzIHRob3NlXG4vLyAgICAgICAgICAgICAgICAgICBhcyBTZW1pIEJvbGQgKDYwMCksIGFuZCB0aGUgdGhlbWUgc2hpcHMgbm8gSW50ZXIgQm9sZCwgc29cbi8vICAgICAgICAgICAgICAgICAgIDcwMCB3b3VsZCBoYXZlIHRoZSBicm93c2VyIHN5bnRoZXNpc2Ugb25lLiBwYWdlZmlndXJlcyBoYXNcbi8vICAgICAgICAgICAgICAgICAgIHNpbmNlIGdvbmUgdG8gTWVkaXVtIGluIHRoZSBjbGllbnQncyByZXZpc2lvbiDigJQgc2VlIHRoZVxuLy8gICAgICAgICAgICAgICAgICAgVXBkYXRlZC8qIHN0eWxlcyBub3RlZCBpbiBfdmFyaWFibGVzLnNjc3MuXG5cbkBlYWNoICRuYW1lLCAkdG9rZW4gaW4gJHBoYy10eXBlIHtcbiAgLnRleHQtcGhjLSN7JG5hbWV9IHtcbiAgICBAaW5jbHVkZSBwaGMtdHlwZSgkbmFtZSk7XG5cbiAgICAvLyBFZGl0b3IgY29weSBhcnJpdmVzIHdyYXBwZWQgaW4gPHA+LCBhbmQgYmFzZS9fYmFzZS5zY3NzIHNldHMgdHlwZSBvbiB0aGVcbiAgICAvLyBiYXJlIGBwYCBlbGVtZW50LiBBIHJ1bGUgb24gdGhlIGVsZW1lbnQgaXRzZWxmIGFsd2F5cyBiZWF0cyBhIHNpemUgbWVyZWx5XG4gICAgLy8gaW5oZXJpdGVkIGZyb20gYW4gYW5jZXN0b3IsIHNvIGFwcGx5aW5nIHRoaXMgY2xhc3MgdG8gYSB3cmFwcGVyIGlzIG5vdFxuICAgIC8vIGVub3VnaCDigJQgaXQgaGFzIHRvIHJlYWNoIHRoZSBlbGVtZW50cyBob2xkaW5nIHRoZSB0ZXh0LlxuICAgIHAsXG4gICAgbGksXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
