/**
 * Based on
 *
 *  - reset.css 2.0 by Eric Meyer
      (public domain)
 *    http://meyerweb.com/eric/tools/css/reset/
 *
 *  - normalize.css 8.0.1 by Nicolas Gallagher and Jonathan Neal
 *    (licensed under MIT)
 *    https://github.com/necolas/normalize.css
 *
 *  - Reboot from Bootstrap 4.5.3
 *    (licensed under MIT)
 *    https://github.com/twbs/bootstrap
 */
/**
 * IE10+ doesn't honor `<meta name="viewport">` in some cases
 */
@-ms-viewport {
  width: device-width; }

/**
 * general reset
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/**
 * HTML5 display-role reset for older browsers
 */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,
main, summary {
  display: block; }

/**
 * inherit box model for all elements
 */
*,
*::before,
*::after {
  box-sizing: inherit; }

/**
 * html root rules
 * 1. set border-box for inheritance
 * 2. avoid 300ms click delay on touch devices that support the `touch-action`
 *    CSS property
 * 3. Prevent adjustments of font size after orientation changes in IE, on
 *    Windows Phone and iOS.
 * 4. Setting @viewport causes scrollbars to overlap content in IE11 and Edge,
 *    so we force a non-overlapping, non-auto-hiding scrollbar to counteract.
 * 5. Change the default tap highlight to be completely transparent in iOS.
 */
html {
  /* 1 */
  box-sizing: border-box;
  /* 2 */
  touch-action: manipulation;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* 4 */
  -ms-overflow-style: scrollbar;
  /* 5 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/**
 * body rules
 * 1. reset line-height to 1
 * 2. set base font-family to sans-serif
 * 3. Set an explicit initial text-align value so that we can later use the
 *    `inherit` value on things like `<th>` elements.
 */
body {
  /* 1 */
  line-height: 1;
  /* 2 */
  font-family: sans-serif;
  /* 3 */
  text-align: left; }

/**
 * Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
 * on elements that programmatically receive focus but wouldn't normally show a visible
 * focus outline. In general, this would mean that the outline is only applied if the
 * interaction that led to the element receiving programmatic focus was a keyboard interaction,
 * or the browser has somehow determined that the user is primarily a keyboard user and/or
 * wants focus outlines to always be presented.
 *
 * See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
 * and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
 */
[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

/**
 * Lists
 */
ol, ul {
  list-style: none; }

/**
 * Quotes
 */
blockquote, q {
  quotes: none; }

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: '';
  content: none; }

/**
 * Tables
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  caption-side: bottom; }

/**
 * Table Headers
 * 1. Matches default `<td>` alignment by inheriting from the `<body>`, or the
 *    closest parent with a set `text-align`.
 * 2. Fix alignment for Safari
 */
th {
  /* 1 */
  text-align: inherit;
  /* 2 */
  text-align: -webkit-match-parent; }

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

/**
 * Preformatted Text
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Don't allow content to break outside
 * 3. We have @viewport set which causes scrollbars to overlap content in IE11
 *    and Edge, so we force a non-overlapping, non-auto-hiding scrollbar to
 *    counteract.
 */
pre,
code,
kbd,
samp {
  /* 1 */
  font-family: monospace, monospace; }

pre {
  /* 2 */
  overflow: auto;
  /* 3 */
  -ms-overflow-style: scrollbar; }

/**
 * Links
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  /* 1 */
  background-color: transparent;
  /* 2 */
  -webkit-text-decoration-skip: objects; }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 * 3. Add explicit cursor to indicate changed behavior.
 * 4. Prevent the text-decoration to be skipped.
 */
abbr[title] {
  /* 1 */
  border-bottom: 0;
  /* 2 */
  text-decoration: underline;
  text-decoration: underline dotted;
  /* 3 */
  cursor: help;
  /* 4 */
  text-decoration-skip-ink: none; }

address {
  font-style: normal;
  line-height: inherit; }

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

/**
 * 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 {
  position: relative;
  font-size: 75%;
  line-height: 0; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/**
 * Prevent `em` being affected from global reset
 */
em {
  font-style: italic; }

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

/**
 * Hide SVG overflow in IE
 */
svg:not(:root) {
  overflow: hidden; }

/**
 * Remove the default `border-radius` that macOS Chrome adds.
 * Details at https://github.com/twbs/bootstrap/issues/24093
 */
button {
  border-radius: 0; }

/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 * Credit: https://github.com/suitcss/base/
 */
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

/**
 * form element resets
 * 1. Remove the margin in Firefox and Safari
 * 2. inherit font rules
 */
input,
button,
select,
optgroup,
textarea {
  /* 1 */
  margin: 0;
  /* 2 */
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="reset"],
[type="submit"],
[type="button"] {
  /* 2 */
  -webkit-appearance: button; }

/**
 * Remove the default appearance of temporal inputs to avoid a Mobile Safari
 * bug where setting a custom line-height prevents text from being vertically
 * centered within the input.
 * See https://bugs.webkit.org/show_bug.cgi?id=139848
 * and https://github.com/twbs/bootstrap/issues/11266
 */
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

/**
 * 1. Remove the default vertical scrollbar in IE.
 * 2. Textareas should really only resize vertically so they don't break their
 *    (horizontal) containers.
 */
textarea {
  overflow: auto;
  resize: vertical; }

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

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

/**
 * Set the cursor for non-`<button>` buttons
 * Details at https://github.com/twbs/bootstrap/pull/30562
 */
[role="button"] {
  cursor: pointer; }

/**
 * Remove the inheritance of word-wrap in Safari.
 * See https://github.com/twbs/bootstrap/issues/24990
 */
select {
  word-wrap: normal; }

/**
 * Remove inner border and padding from Firefox, but don't restore the outline
 * like Normalize.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

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

/**
 * Suppress the focus outline on elements that cannot be accessed via keyboard.
 * This prevents an unwanted focus outline from appearing around elements that
 * might still respond to pointer events.
 * Credit: https://github.com/suitcss/base
 */
[tabindex="-1"]:focus {
  outline: 0 !important; }

/**
 * Browsers set a default `min-width: min-content` on fieldsets,
 * unlike e.g. `<div>`s, which have `min-width: 0` by default.
 * So we reset that to ensure fieldsets behave more like a standard block element.
 * See https://github.com/twbs/bootstrap/issues/12359
 * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
 */
fieldset {
  min-width: 0; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Set display to block for all browsers
 */
legend {
  /* 1 */
  max-width: 100%;
  white-space: normal;
  /* 2 */
  color: inherit;
  /* 3 */
  display: block; }

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

/**
 * 1. Remove the default vertical scrollbar in IE 10+.
 * 2. Textareas should really only resize vertically so they don't break their
 *    (horizontal) containers.
 */
textarea {
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical; }

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

/**
 * 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"] {
  /* 1 */
  -webkit-appearance: textfield;
  /* 2 */
  outline-offset: -2px; }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[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 {
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  font: inherit; }

/**
 * Correct element display for output
 */
output {
  display: inline-block; }

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

/**
 * Always hide an element with the `hidden` HTML attribute (from PureCSS).
 * Needed for proper display in IE 10-.
 */
[hidden] {
  display: none; }

@font-face {
  font-family: "Futura Condensed";
  src: url("../../fonts/futura-condensed.woff2") format("woff2"), url("../../fonts/futura-condensed.woff") format("woff"); }

/* ===== == = === 20em (320px) === = == ===== */
/* ===== == = === 37.5em (480px) === = == ===== */
/* ===== == = === 37.5em (600px) === = == ===== */
/* ===== == = === 48em (650px) === = == ===== */
/* ===== == = === 48em (768px) === = == ===== */
/* ===== == = === 56.25em (900px) === = == ===== */
/* ===== == = === 68.75em (1100px) === = == ===== */
/* ===== == = === 75em (1200px) === = == ===== */
/* ===== == = === 81.25em (1300px) === = == ===== */
/* ===== == = === 100em (1600px) === = == ===== */
/* ===== == = === 125em (2000px) === = == ===== */
/* ===== == = === 125em (2400px) === = == ===== */
:root {
  --white: #f6f6f6;
  --black: #080708;
  --purple: #691c9c;
  --turquois: #95CCC4;
  --beige: #E6E1D5;
  --beige-transparent: rgba(230, 225, 213, 0.4);
  --purple-transparent: rgba(105, 28, 156, 0.12);
  --instagram: #E1306C;
  --whatsapp: #3AD366;
  --facebook: #1877F2;
  --twitter: #1DA1F2;
  --error: #A11B41;
  --font-heading: "Futura Condensed", sans-serif;
  --font-paragraph: 'Open Sans', sans-serif;
  --ratio: 1.2;
  --base-size: 1rem;
  --spacing-sm-9: calc(var(--spacing-sm-8) / var(--ratio));
  --spacing-sm-8: calc(var(--spacing-sm-7) / var(--ratio));
  --spacing-sm-7: calc(var(--spacing-sm-6) / var(--ratio));
  --spacing-sm-6: calc(var(--spacing-sm-5) / var(--ratio));
  --spacing-sm-5: calc(var(--spacing-sm-4) / var(--ratio));
  --spacing-sm-4: calc(var(--spacing-sm-3) / var(--ratio));
  --spacing-sm-3: calc(var(--spacing-sm-2) / var(--ratio));
  --spacing-sm-2: calc(var(--spacing-sm-1) / var(--ratio));
  --spacing-sm-1: calc(var(--base-size) / var(--ratio));
  --spacing-base: var(--base-size);
  --spacing-lg-1: calc(var(--spacing-base) * var(--ratio));
  --spacing-lg-2: calc(var(--spacing-lg-1) * var(--ratio));
  --spacing-lg-3: calc(var(--spacing-lg-2) * var(--ratio));
  --spacing-lg-4: calc(var(--spacing-lg-3) * var(--ratio));
  --spacing-lg-5: calc(var(--spacing-lg-4) * var(--ratio));
  --spacing-lg-6: calc(var(--spacing-lg-5) * var(--ratio));
  --spacing-lg-7: calc(var(--spacing-lg-6) * var(--ratio));
  --spacing-lg-8: calc(var(--spacing-lg-7) * var(--ratio));
  --spacing-lg-9: calc(var(--spacing-lg-8) * var(--ratio));
  --spacing-lg-10: calc(var(--spacing-lg-9) * var(--ratio));
  --spacing-lg-11: calc(var(--spacing-lg-10) * var(--ratio));
  --spacing-lg-12: calc(var(--spacing-lg-11) * var(--ratio));
  --line-height-xs: 1.1;
  --line-height-sm: 1.2;
  --line-height-base: 1.5;
  --letter-spacing-sm: 0.02em;
  --letter-spacing-base: 0.04em;
  --hover-transition: all 0.25s ease-in-out;
  --border-radius: 10px;
  --border-radius-sm: 5px;
  --wide-screen-padding: 5vw;
  --tamaro-primary-color: var(--purple);
  --tamaro-primary-color__hover: var(--purple);
  --tamaro-primary-bg-color: var(--beige-transparent);
  --tamaro-border-color: var(--black);
  --tamaro-text-color: var(--black);
  --tamaro-placeholder-color: var(--black);
  --tamaro-error-color: var(--error);
  --tamaro-button-primary-color: var(--black);
  --tamaro-button-primary-color__hover: var(--white);
  --tamaro-button-primary-bg-color: var(--turquois);
  --tamaro-button-primary-bg-color__hover: var(--black);
  --tamaro-button-primary-border-color: var(--turquois);
  --tamaro-button-primary-border-color__hover: var(--black);
  --tamaro-bg-color: var(--white);
  --tec-color-accent-primary: var(--purple);
  --tec-font-family-sans-serif: var(--font-paragraph);
  --tec-form-color-border-secondary: var(--beige);
  --tec-color-border-secondary: var(--beige);
  --tec-color-border-default: var(--beige);
  --tec-color-text-secondary: var(--black);
  --tec-color-icon-secondary: var(--black);
  --tec-color-icon-disabled: var(--beige);
  --tec-color-icon-active: var(--black);
  --tec-color-accent-primary-hover: var(--turquois); }

@media (min-width: 56.25em) {
  :root {
    --border-radius: 15px; } }

@media (min-width: 68.75em) {
  :root {
    --border-radius: 20px; } }

html {
  height: 100%;
  box-sizing: border-box;
  scroll-behavior: smooth;
  font-size: 16px; }
  @media (min-width: 48em) {
    html {
      font-size: 18px; } }
  @media (min-width: 68.75em) {
    html {
      font-size: 22px; } }
  @media (min-width: 125em) {
    html {
      font-size: 25px; } }

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

.body {
  min-height: 100%;
  display: flex;
  flex-direction: column; }
  .body--noScroll {
    overflow: hidden;
    position: relative; }
    .body--noScroll:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      opacity: 0.5;
      background-color: var(--black); }

@media (min-width: 20em) {
  :root {
    --bp: 'screen-xs';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 30em) {
  :root {
    --bp: 'screen-xs-sm';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 37.5em) {
  :root {
    --bp: 'screen-sm';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 40.6em) {
  :root {
    --bp: 'screen-sm-md';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 48em) {
  :root {
    --bp: 'screen-md';
    --bp-color: white;
    --bp-bg-color: black; } }

@media (min-width: 56.25em) {
  :root {
    --bp: 'screen-md-lg';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 68.75em) {
  :root {
    --bp: 'screen-lg';
    --bp-color: white;
    --bp-bg-color: black; } }

@media (min-width: 75em) {
  :root {
    --bp: 'screen-lg';
    --bp-color: white;
    --bp-bg-color: black; } }

@media (min-width: 81.25em) {
  :root {
    --bp: 'screen-xl';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 100em) {
  :root {
    --bp: 'screen-xl';
    --bp-color: black;
    --bp-bg-color: white; } }

@media (min-width: 125em) {
  :root {
    --bp: 'screen-xxl';
    --bp-color: white;
    --bp-bg-color: black; } }

@media (min-width: 150em) {
  :root {
    --bp: 'screen-xxl';
    --bp-color: white;
    --bp-bg-color: black; } }

* {
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto; }

body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 500; }

h1, h2, h3, h4 {
  line-height: var(--line-height-xs);
  font-family: var(--font-heading);
  font-weight: normal;
  margin-bottom: var(--spacing-sm-2); }
  @media (min-width: 37.5em) {
    h1, h2, h3, h4 {
      margin-bottom: var(--spacing-sm-1); } }

h1 {
  font-size: var(--spacing-lg-4); }
  @media (min-width: 37.5em) {
    h1 {
      font-size: var(--spacing-lg-5); } }
  @media (min-width: 48em) {
    h1 {
      font-size: var(--spacing-lg-7);
      margin-bottom: var(--spacing-lg-1); } }

h2 {
  font-size: var(--spacing-lg-2); }
  @media (min-width: 37.5em) {
    h2 {
      font-size: var(--spacing-lg-3); } }
  @media (min-width: 48em) {
    h2 {
      font-size: var(--spacing-lg-4); } }

h3 {
  font-size: var(--spacing-lg-1); }

p {
  line-height: var(--line-height-base);
  margin-bottom: var(--spacing-sm-1); }

br {
  line-height: var(--line-height-base);
  margin-bottom: var(--spacing-sm-1); }

li {
  line-height: var(--line-height-base); }

strong {
  line-height: var(--line-height-base); }

a {
  text-decoration: none; }

.demovoxWrapper input[type="text"],
.demovoxWrapper input[type="number"],
.demovoxWrapper input[type="email"],
.wpcf7-form input[type="text"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="email"],
.newsletter__form input[type="text"],
.newsletter__form input[type="number"],
.newsletter__form input[type="email"] {
  appearance: none;
  height: var(--spacing-lg-3) !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-bottom: var(--spacing-sm-6) !important;
  margin-bottom: var(--spacing-lg-1) !important;
  border: none !important;
  border-bottom: solid 4px var(--black) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  color: var(--black) !important;
  transition: var(--hover-transition) !important; }
  .demovoxWrapper input[type="text"]:focus,
  .demovoxWrapper input[type="number"]:focus,
  .demovoxWrapper input[type="email"]:focus,
  .wpcf7-form input[type="text"]:focus,
  .wpcf7-form input[type="number"]:focus,
  .wpcf7-form input[type="email"]:focus,
  .newsletter__form input[type="text"]:focus,
  .newsletter__form input[type="number"]:focus,
  .newsletter__form input[type="email"]:focus {
    outline: none !important;
    border-bottom: solid 4px var(--beige) !important;
    box-shadow: none !important; }

.demovoxWrapper textarea,
.demovoxWrapper select,
.wpcf7-form textarea,
.wpcf7-form select,
.newsletter__form textarea,
.newsletter__form select {
  border-bottom: solid 4px var(--black) !important; }
  .demovoxWrapper textarea:focus,
  .demovoxWrapper select:focus,
  .newsletter__form textarea:focus,
  .newsletter__form select:focus {
    outline: none !important;
    border-bottom: solid 4px var(--beige) !important;
    box-shadow: none !important; }

.demovoxWrapper label,
.wpcf7-form label,
.newsletter__form label {
  display: block;
  color: var(--black);
  font-size: var(--spacing-sm-1);
  letter-spacing: var(--letter-spacing-base);
  margin-bottom: var(--spacing-sm-6);
  font-family: var(--font-heading); }
  .demovoxWrapper label a,
  .wpcf7-form label a,
  .newsletter__form label a {
    color: var(--black);
    border-bottom: solid 3px var(--black); }

.demovoxWrapper input[type="submit"],
.demovoxWrapper button,
.wpcf7-form input[type="submit"],
.wpcf7-form button,
.newsletter__form input[type="submit"],
.newsletter__form button {
  padding: var(--spacing-sm-1) var(--spacing-base) !important;
  width: 100%;
  height: auto !important;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-base);
  border-radius: var(--border-radius) !important;
  border: none !important;
  background-color: var(--purple) !important;
  cursor: pointer;
  font-weight: 700 !important;
  transition: var(--hover-transition) !important;
  transform: translateY(0);
  font-size: var(--spacing-base) !important;
  appearance: none;
  border: transparent; }
  .demovoxWrapper input[type="submit"]:hover, .demovoxWrapper input[type="submit"]:focus,
  .demovoxWrapper button:hover,
  .demovoxWrapper button:focus,
  .wpcf7-form input[type="submit"]:hover, .wpcf7-form input[type="submit"]:focus,
  .wpcf7-form button:hover,
  .wpcf7-form button:focus,
  .newsletter__form input[type="submit"]:hover,
  .newsletter__form input[type="submit"]:focus,
  .newsletter__form button:hover,
  .newsletter__form button:focus {
    transform: translateY(-2px);
    background-color: var(--black) !important;
    color: var(--white) !important; }

.demovoxWrapper input[type="radio"],
.demovoxWrapper input[type="checkbox"],
.wpcf7-form input[type="radio"],
.wpcf7-form input[type="checkbox"],
.newsletter__form input[type="radio"],
.newsletter__form input[type="checkbox"] {
  opacity: 0;
  padding: 0;
  height: 0; }
  .demovoxWrapper input[type="radio"] + label,
  .demovoxWrapper input[type="checkbox"] + label,
  .wpcf7-form input[type="radio"] + label,
  .wpcf7-form input[type="checkbox"] + label,
  .newsletter__form input[type="radio"] + label,
  .newsletter__form input[type="checkbox"] + label {
    display: inline-block;
    position: relative;
    padding-left: var(--spacing-lg-2);
    cursor: pointer;
    font-size: var(--spacing-sm-1); }
    .demovoxWrapper input[type="radio"] + label::before,
    .demovoxWrapper input[type="checkbox"] + label::before,
    .wpcf7-form input[type="radio"] + label::before,
    .wpcf7-form input[type="checkbox"] + label::before,
    .newsletter__form input[type="radio"] + label::before,
    .newsletter__form input[type="checkbox"] + label::before {
      content: '';
      border: solid 3px var(--black);
      background-color: transparent;
      display: inline-block;
      position: absolute;
      width: var(--spacing-base);
      height: var(--spacing-base);
      left: 0;
      top: calc((var(--spacing-base) - var(--spacing-sm-1))/ -1);
      border-radius: 0;
      margin-bottom: var(--spacing-sm-1); }
    .demovoxWrapper input[type="radio"] + label::after,
    .demovoxWrapper input[type="checkbox"] + label::after,
    .wpcf7-form input[type="radio"] + label::after,
    .wpcf7-form input[type="checkbox"] + label::after,
    .newsletter__form input[type="radio"] + label::after,
    .newsletter__form input[type="checkbox"] + label::after {
      content: "";
      z-index: 1;
      opacity: 0;
      display: block;
      position: absolute;
      width: var(--spacing-sm-6);
      height: var(--spacing-sm-4);
      left: var(--spacing-sm-6);
      border: solid var(--black);
      border-width: 0 3px 3px 0;
      top: 1px;
      transform: rotate(45deg);
      transition: all 100ms; }
      @media (min-width: 48em) {
        .demovoxWrapper input[type="radio"] + label::after,
        .demovoxWrapper input[type="checkbox"] + label::after,
        .wpcf7-form input[type="radio"] + label::after,
        .wpcf7-form input[type="checkbox"] + label::after,
        .newsletter__form input[type="radio"] + label::after,
        .newsletter__form input[type="checkbox"] + label::after {
          top: 2px; } }
  .demovoxWrapper input[type="radio"]:checked + label::after,
  .demovoxWrapper input[type="checkbox"]:checked + label::after,
  .wpcf7-form input[type="radio"]:checked + label::after,
  .wpcf7-form input[type="checkbox"]:checked + label::after,
  .newsletter__form input[type="radio"]:checked + label::after,
  .newsletter__form input[type="checkbox"]:checked + label::after {
    opacity: 1; }

.demovoxWrapper input[type="search"],
.newsletter__form input[type="search"] {
  outline: none !important;
  font-size: var(--spacing-sm-1); }

#mc_embed_signup div.mce_inline_error,
.demovox ul.parsley-errors-list li {
  border-radius: var(--border-radius-sm);
  padding: var(--spacing-sm-5) var(--spacing-sm-1) !important;
  font-size: var(--spacing-sm-1);
  font-weight: 500 !important;
  letter-spacing: var(--letter-spacing-base);
  color: var(--white) !important;
  background-color: var(--error) !important;
  text-align: center; }

.demovox .form-check {
  padding-left: 0; }

#demovox-grp-submit {
  margin-bottom: 0; }

.ui-datepicker {
  background-color: var(--beige);
  color: var(--white);
  padding: var(--spacing-sm-1);
  border-radius: 0;
  border: none !important; }
  .ui-datepicker table tr th {
    font-weight: bold;
    color: var(--black); }
  .ui-datepicker .ui-datepicker-header {
    margin-bottom: var(--spacing-sm-4); }
  .ui-datepicker .ui-datepicker-next,
  .ui-datepicker .ui-datepicker-prev {
    top: 15px !important; }
  .ui-datepicker .ui-datepicker-month,
  .ui-datepicker .ui-datepicker-year {
    border: none; }
  .ui-datepicker .ui-datepicker-month {
    margin-right: var(--spacing-sm-6); }
  .ui-datepicker table tr td {
    vertical-align: middle; }
    .ui-datepicker table tr td:hover {
      background-color: var(--purple); }
      .ui-datepicker table tr td:hover a {
        color: var(--white); }
    .ui-datepicker table tr td.ui-datepicker-current-day {
      background-color: var(--black); }
      .ui-datepicker table tr td.ui-datepicker-current-day a {
        color: var(--white); }

.select2-container {
  color: var(--black);
  height: var(--spacing-lg-3) !important;
  width: 100% !important; }

.select2-container--default {
  max-width: 100% !important;
  border-bottom: solid 4px var(--black) !important;
  background-color: transparent !important; }
  .select2-container--default .select2-selection--single {
    border-radius: 0 !important;
    height: var(--spacing-lg-3) !important;
    border: none !important;
    background-color: transparent !important; }
    .select2-container--default .select2-selection--single .select2-selection__arrow {
      height: var(--spacing-lg-3) !important; }
    .select2-container--default .select2-selection--single .select2-selection__rendered {
      color: var(--black) !important;
      line-height: var(--spacing-lg-3) !important;
      padding-left: 0 !important; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: var(--black) transparent transparent transparent !important; }
  .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--purple) !important;
    color: var(--white) !important; }
  .select2-container--default .select2-results__option {
    background-color: var(--beige) !important;
    font-size: var(--spacing-sm-1); }
    .select2-container--default .select2-results__option[aria-selected=true] {
      background-color: var(--beige) !important; }
  .select2-container--default .select2-container--open .select2-dropdown--above {
    border-radius: 0; }
  .select2-container--default .select2-search--dropdown .select2-search__field {
    border: 2px solid var(--black) !important;
    background-color: var(--beige) !important; }
    .select2-container--default .select2-search--dropdown .select2-search__field:focus {
      border: 2px solid var(--purple) !important; }
  .select2-container--default .select2-dropdown {
    background-color: var(--beige) !important;
    border: none !important; }

#demovox-pdf #demovox-buttons button:nth-child(2) {
  margin-top: var(--spacing-base); }

#demovox-buttons .pdf-download {
  padding: var(--spacing-sm-1) var(--spacing-base) !important;
  width: 100%;
  height: auto !important;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-base);
  border-radius: var(--border-radius) !important;
  border: none !important;
  background-color: var(--purple) !important;
  cursor: pointer;
  font-weight: 700 !important;
  transition: var(--hover-transition) !important;
  transform: translateY(0);
  font-size: var(--spacing-base) !important;
  padding-right: var(--spacing-lg-6) !important;
  position: relative; }
  #demovox-buttons .pdf-download:hover, #demovox-buttons .pdf-download:focus {
    transform: translateY(-2px);
    background-color: var(--black) !important;
    color: var(--white) !important; }
  #demovox-buttons .pdf-download:after {
    content: '';
    position: absolute;
    right: var(--spacing-sm-1);
    top: 50%;
    transform: translateY(-50%);
    background-image: url(../../img/download.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: var(--spacing-lg-2);
    width: var(--spacing-lg-2); }

#demovox-buttons .pdf-print {
  padding: var(--spacing-sm-1) var(--spacing-base) !important;
  width: 100%;
  height: auto !important;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-base);
  border-radius: var(--border-radius) !important;
  border: none !important;
  background-color: var(--purple) !important;
  cursor: pointer;
  font-weight: 700 !important;
  transition: var(--hover-transition) !important;
  transform: translateY(0);
  font-size: var(--spacing-base) !important;
  padding-right: var(--spacing-lg-6) !important;
  position: relative; }
  #demovox-buttons .pdf-print:hover, #demovox-buttons .pdf-print:focus {
    transform: translateY(-2px);
    background-color: var(--black) !important;
    color: var(--white) !important; }
  #demovox-buttons .pdf-print:after {
    content: '';
    position: absolute;
    right: var(--spacing-sm-1);
    top: 50%;
    transform: translateY(-50%);
    background-image: url(../../img/print.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: var(--spacing-lg-2);
    width: var(--spacing-lg-2); }

.screen-reader-text {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden; }

.otgs-development-site-front-end {
  display: none !important; }

.post__content > * {
  max-width: 60%;
  margin-left: auto !important;
  margin-right: auto !important; }

.post__content > .alignwide {
  max-width: 75%; }

.post__content > .alignfull {
  max-width: none; }

.post__content > .alignleft {
  float: left;
  margin-right: var(--spacing-md); }

.post__content > .alignright {
  float: right;
  margin-right: var(--spacing-md); }

.page__title {
  padding-left: var(--wide-screen-padding);
  padding-bottom: var(--wide-screen-padding);
  padding-top: var(--wide-screen-padding);
  margin-bottom: 0;
  color: var(--purple); }
  @media (min-width: 125em) {
    .page__title {
      padding-left: 5vw;
      padding-right: 5vw;
      padding-bottom: var(--spacing-lg-2);
      padding-top: var(--spacing-lg-2); } }
  @media (min-width: 125em) and (min-width: 81.25em) {
    .page__title {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }

.page__content {
  padding-left: 5vw;
  padding-right: 5vw; }
  @media (min-width: 81.25em) {
    .page__content {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }
  @media (min-width: 56.25em) {
    .page__content > * {
      max-width: 80%; } }
  @media (min-width: 81.25em) {
    .page__content > * {
      max-width: 70%; } }
  .page__content h2 {
    margin-top: var(--spacing-lg-4); }
  .page__content h3 {
    margin-top: var(--spacing-lg-3); }
  .page__content h4 {
    margin-top: var(--spacing-lg-2); }
  .page__content a {
    color: var(--black);
    border-bottom: solid 3px var(--black);
    transition: var(--hover-transition); }
    .page__content a:hover, .page__content a:focus {
      color: var(--purple);
      border-bottom: solid 3px var(--purple); }
  .page__content > :last-child:not(.quote) {
    padding-bottom: var(--spacing-lg-5); }
  .page__content .archiveSupporter {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    padding-left: var(--wide-screen-padding);
    padding-right: var(--wide-screen-padding); }
  .page__content .quote {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    margin-top: var(--spacing-lg-5); }
    .page__content .quote:not(:last-child) {
      margin-bottom: var(--spacing-lg-5); }

.headerMainWrapper {
  min-height: 100vh;
  background-color: var(--white);
  /* put on top */
  position: relative;
  z-index: 5; }

.siteMain {
  position: relative;
  z-index: 1;
  background-color: var(--white); }
  .page__notHome .siteMain {
    min-height: calc(100vh - (2 * var(--wide-screen-padding) + 45px)); }
    @media (min-width: 68.75em) {
      .page__notHome .siteMain {
        min-height: calc(100vh - (2 * var(--wide-screen-padding) + 58px)); } }
    @media (min-width: 81.25em) {
      .page__notHome .siteMain {
        min-height: calc(100vh - (2 * var(--wide-screen-padding) + 60px)); } }

.siteFooter {
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: var(--spacing-lg-5);
  padding-bottom: var(--spacing-lg-5);
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  display: grid;
  grid-template-areas: "title" "firstColumn" "secondColumn" "social" "bottom";
  white-space: nowrap;
  grid-column-gap: 4vw;
  grid-row-gap: 4vw;
  background-color: var(--black);
  color: var(--white); }
  @media (min-width: 81.25em) {
    .siteFooter {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }
  @media (min-width: 37.5em) {
    .siteFooter {
      padding-top: var(--spacing-lg-7);
      padding-bottom: var(--spacing-lg-7); } }
  @media (min-width: 30em) {
    .siteFooter {
      grid-template-columns: 40% auto;
      grid-template-areas: "title firstColumn" ".     secondColumn" ".     social" "bottom bottom"; } }
  @media (min-width: 48em) {
    .siteFooter {
      grid-template-columns: 30% auto; } }
  @media (min-width: 56.25em) {
    .siteFooter {
      grid-template-areas: "title firstColumn secondColumn social" "bottom bottom bottom bottom";
      grid-template-columns: auto 1.5fr 1.5fr 1fr; } }
  .siteFooter a {
    color: var(--white);
    font-weight: 700;
    transition: var(--hover-transition); }
    .siteFooter a:hover, .siteFooter a:focus {
      color: var(--turquois); }
  .siteFooter__siteName {
    grid-area: title;
    margin-bottom: 0;
    line-height: 1;
    color: var(--turquois);
    font-family: var(--font-heading);
    font-size: var(--spacing-lg-2); }
    @media (min-width: 37.5em) {
      .siteFooter__siteName {
        font-size: var(--spacing-lg-3); } }
    @media (min-width: 81.25em) {
      .siteFooter__siteName {
        font-size: var(--spacing-lg-4); } }
  .siteFooter__firstColumn {
    grid-area: firstColumn; }
  .siteFooter__secondColumn {
    grid-area: secondColumn; }
  .siteFooter__socialMedia {
    grid-area: social; }
  .siteFooter__title {
    font-family: var(--font-paragraph);
    font-weight: 700;
    color: var(--beige);
    font-size: var(--spacing-sm-1);
    margin-bottom: var(--spacing-sm-6); }
  .siteFooter__text {
    font-size: var(--spacing-sm-1); }
    .siteFooter__text p:not(:last-of-type) {
      margin: 0; }
  .siteFooter__titleSocial {
    margin-bottom: var(--spacing-sm-2); }
  .siteFooter__spLogo {
    height: var(--spacing-lg-1);
    width: var(--spacing-lg-1);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: stretch; }
  .siteFooter__bottom {
    grid-area: bottom;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: var(--spacing-base);
    border-top: solid 4px var(--beige);
    margin-top: var(--spacing-lg-1); }
    @media (min-width: 30em) {
      .siteFooter__bottom {
        margin-top: 0; } }
  .siteFooter__credit {
    font-size: var(--spacing-sm-3);
    letter-spacing: var(--letter-spacing-sm); }

.siteHeader {
  z-index: 4;
  position: relative;
  background-color: var(--white);
  display: flex;
  justify-content: space-between; }
  .siteHeader__notHome {
    align-items: center;
    padding: calc(min(170px, var(--wide-screen-padding))); }
    .siteHeader__notHome:after {
      content: '';
      position: absolute;
      width: calc(100% + var(--wide-screen-padding));
      height: 100%;
      left: calc(var(--wide-screen-padding / -1));
      right: 0;
      clip-path: polygon(100% 0, 0 0, 0 100%);
      clip-path: polygon(0 0, 100% 0, 100% 60%, 0% 100%);
      background-color: var(--purple);
      z-index: -1; }
      @media (min-width: 48em) {
        .siteHeader__notHome:after {
          clip-path: polygon(100% 0, 0 0, 0 100%); } }
  .siteHeader__title {
    font-family: var(--font-heading);
    font-size: var(--spacing-lg-1);
    color: var(--white); }
  .siteHeader__home {
    display: grid;
    grid-template-areas: "title menu" "claim claim";
    grid-template-rows: minmax(auto, 45vh) minmax(auto, 35vh);
    padding: calc(min(170px, var(--wide-screen-padding)));
    grid-template-columns: clamp(50%, 60%, 80%) auto;
    grid-column-gap: 4vw;
    min-height: 80vh;
    overflow: hidden; }
    @media (min-width: 30em) {
      .siteHeader__home {
        padding-bottom: 2vw;
        grid-template-rows: minmax(auto, 40vh) minmax(auto, 40vh); } }
    @media (min-width: 48em) {
      .siteHeader__home {
        grid-template-rows: minmax(auto, 40vh) minmax(auto, 35vh); } }
    @media (min-width: 68.75em) {
      .siteHeader__home {
        min-height: 85vh; } }
  .siteHeader__homeDescription {
    grid-area: title;
    margin-bottom: 0;
    color: var(--purple);
    font-size: clamp(var(--spacing-lg-2), 8vw, var(--spacing-lg-5)); }
    @media (min-width: 56.25em) {
      .siteHeader__homeDescription {
        font-size: clamp(var(--spacing-lg-5), 5vw, 140px); } }
  .siteHeader__homeClaimWrapper {
    grid-area: claim;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center; }
    @media (min-width: 37.5em) {
      .siteHeader__homeClaimWrapper {
        align-items: flex-start; }
        .siteHeader__homeClaimWrapper:after {
          content: '';
          position: absolute;
          top: 0;
          bottom: -5vw;
          left: -5vw;
          right: 0;
          z-index: -2;
          width: 100vw;
          height: calc(100% + 6vw);
          clip-path: polygon(0 0, 100% 60%, 100% 100%, 0% 100%);
          background-color: var(--purple); } }
    @media (min-width: 37.5em) and (min-width: 56.25em) {
      .siteHeader__homeClaimWrapper:after {
        clip-path: polygon(0 0, 100% 70%, 100% 100%, 0% 100%);
        bottom: -2vw;
        height: calc(100% + 3vw); } }
  .siteHeader__homeClaim {
    margin-bottom: 0;
    line-height: var(--line-height-sm);
    color: var(--white);
    background: var(--purple);
    font-family: var(--font-heading);
    text-align: center;
    margin-bottom: -5vw;
    margin-left: -5vw;
    margin-right: -5vw;
    padding-bottom: 3vw;
    padding-top: 3vw;
    width: 100vw;
    font-size: clamp(var(--spacing-lg-1), 5vw, var(--spacing-lg-4)); }
    @media (min-width: 30em) {
      .siteHeader__homeClaim {
        margin-bottom: -2vw;
        padding-bottom: 2vw; } }
    @media (min-width: 37.5em) {
      .siteHeader__homeClaim {
        background: transparent;
        width: auto;
        text-align: left;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        padding-bottom: 0;
        padding-top: 0; } }
    @media (min-width: 56.25em) {
      .siteHeader__homeClaim {
        font-size: clamp(var(--spacing-lg-4), 4vw, var(--spacing-lg-6)); } }
    @media (min-width: 37.5em) {
      .siteHeader__homeClaim--big {
        font-size: clamp(var(--spacing-lg-4), 8vw, var(--spacing-lg-5)); } }
    @media (min-width: 56.25em) {
      .siteHeader__homeClaim--big {
        font-size: clamp(var(--spacing-lg-5), 5vw, var(--spacing-lg-8)); } }
    .siteHeader__homeClaim--big:lang(fr) {
      line-height: 1.4; }
    .siteHeader__homeClaim br {
      display: none; }
      @media (min-width: 37.5em) {
        .siteHeader__homeClaim br {
          display: block; } }
  @media (min-width: 37.5em) {
    .siteHeader__homeClaimText {
      background: var(--purple);
      border-radius: var(--border-radius);
      padding-right: var(--spacing-sm-3); } }
  .siteHeader__homeClaimSpan {
    line-height: var(--line-height-sm);
    margin-bottom: -4vw; }
    @media (min-width: 37.5em) {
      .siteHeader__homeClaimSpan {
        background-color: var(--purple);
        padding: 0;
        padding-right: var(--spacing-sm-1);
        border-radius: var(--border-radius); } }
  .siteHeader__homeImgWrapper {
    position: absolute;
    overflow: hidden;
    bottom: 6vw;
    right: 0;
    width: clamp(250px, 98vw, 100vw);
    height: clamp(60vh, 70vh, calc(100% - 5vw - 70px)); }
    @media (min-width: 37.5em) {
      .siteHeader__homeImgWrapper {
        bottom: 0;
        width: clamp(600px, 40%, 75vw);
        height: clamp(60vh, 70vh, calc(100% - 5vw - 70px)); } }
  .siteHeader__homeImg {
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: clamp(-20px, -11vw, -10px);
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom; }
  .siteHeader__home .siteHeader__nav {
    grid-area: menu;
    justify-self: end; }

.nav__listWrapper {
  position: fixed;
  inset: 1.5vw;
  overflow-y: scroll;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  visibility: hidden;
  margin: 0;
  margin-left: auto;
  opacity: 0;
  transition: var(--hover-transition); }
  .nav__listWrapper.open {
    visibility: visible;
    opacity: 1;
    background-color: var(--black);
    border-radius: var(--border-radius); }

.nav__languageList {
  display: flex; }

.nav__menuSpan, .nav__menuLink {
  text-align: center;
  display: block;
  font-size: var(--spacing-lg-1);
  padding: var(--spacing-sm-3);
  transition: var(--hover-transition); }
  @media (min-width: 37.5em) {
    .nav__menuSpan, .nav__menuLink {
      padding: var(--spacing-sm-5);
      font-size: var(--spacing-lg-3); } }

.nav__menuSpan {
  color: var(--beige); }

.nav__menuLink {
  color: var(--white); }
  .nav__menuLink:hover, .nav__menuLink:focus {
    color: var(--beige); }

.nav__languageLink {
  font-family: var(--font-heading);
  display: block;
  padding: var(--spacing-sm-4);
  font-size: var(--spacing-sm-1);
  color: var(--white); }
  @media (min-width: 37.5em) {
    .nav__languageLink {
      font-size: var(--spacing-base); } }
  .nav__languageLink:hover, .nav__languageLink:focus {
    color: var(--beige); }

.nav__burger {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center; }

.nav__burgerButton {
  position: relative;
  padding: var(--spacing-sm-1);
  height: 40px;
  width: 45px;
  border: none;
  background-color: var(--black);
  border-radius: var(--border-radius);
  transition: var(--hover-transition); }
  @media (min-width: 68.75em) {
    .nav__burgerButton {
      height: 58px;
      width: 68px; } }
  @media (min-width: 81.25em) {
    .nav__burgerButton {
      height: 60px;
      width: 75px; } }
  @media (hover: hover) and (pointer: fine) {
    .nav__burgerButton:hover {
      background-color: var(--purple);
      border: none;
      outline: none;
      transform: translate(0); } }
  .nav__burgerButton:hover {
    background-color: var(--purple); }
  .nav__burgerButton:focus, .nav__burgerButton:active {
    transform: translate(0);
    outline: none;
    border-radius: 5px;
    background-color: var(--purple); }

.nav__burgerDescription {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) translateX(-110%);
  color: var(--black);
  font-size: var(--spacing-sm-2);
  letter-spacing: var(--letter-spacing-sm);
  text-transform: uppercase; }
  .page__notHome .nav__burgerDescription {
    color: var(--white); }
  @media (min-width: 37.5em) {
    .nav__burgerDescription {
      transform: translateY(-50%) translateX(-115%); } }
  @media (min-width: 48em) {
    .page__notHome .nav__burgerDescription {
      color: var(--black); } }
  .nav__burgerDescription.open {
    display: none; }

.nav__burgerLine {
  display: block;
  position: absolute;
  left: var(--spacing-sm-1);
  width: calc(100% - 2 * var(--spacing-sm-1));
  height: 2px;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
  opacity: 1;
  background-color: var(--white); }
  @media (min-width: 68.75em) {
    .nav__burgerLine {
      height: 3px; } }
  .nav__burgerLine:nth-child(2) {
    top: var(--spacing-sm-1); }
  .nav__burgerLine:nth-child(3), .nav__burgerLine:nth-child(4) {
    top: 50%;
    transform: translateY(-50%); }
  .nav__burgerLine:last-child {
    bottom: var(--spacing-sm-1); }
  .open .nav__burgerLine:nth-child(2), .open .nav__burgerLine:last-child {
    top: 50%;
    width: 0;
    left: 50%; }
  .open .nav__burgerLine:nth-child(3) {
    transform: rotate(45deg); }
  .open .nav__burgerLine:nth-child(4) {
    transform: rotate(-45deg); }

.newsletter {
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: var(--spacing-lg-5);
  padding-bottom: var(--spacing-lg-5);
  background: var(--turquois); }
  @media (min-width: 81.25em) {
    .newsletter {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }
  @media (min-width: 37.5em) {
    .newsletter {
      padding-top: var(--spacing-lg-7);
      padding-bottom: var(--spacing-lg-7); } }
  @media (min-width: 37.5em) {
    .newsletter {
      display: grid;
      justify-content: center;
      grid-template-columns: minmax(auto, var(--spacing-lg-10)) minmax(400px, 55%) minmax(auto, var(--spacing-lg-10));
      grid-template-areas: "title title title" "text text text" "arrow form ." "arrow form .";
      grid-column-gap: var(--spacing-lg-5); } }
  @media (min-width: 56.25em) {
    .newsletter {
      grid-column-gap: var(--spacing-lg-6); } }
  .newsletter__title {
    text-align: center;
    font-size: var(--spacing-lg-4);
    grid-area: title; }
    @media (min-width: 37.5em) {
      .newsletter__title {
        font-size: var(--spacing-lg-5); } }
    @media (min-width: 48em) {
      .newsletter__title {
        font-size: var(--spacing-lg-6); } }
  .newsletter__arrow {
    display: none; }
    @media (min-width: 37.5em) {
      .newsletter__arrow {
        display: block;
        grid-area: arrow;
        justify-self: end; }
        .newsletter__arrow svg {
          width: 100%;
          height: auto;
          margin-right: var(--spacing-base);
          transform: scale(1, -1) rotate(-22deg); } }
  .newsletter__text {
    grid-area: text;
    margin-bottom: var(--spacing-lg-3);
    text-align: center;
    margin-left: auto;
    margin-right: auto; }
  .newsletter__formWrapper {
    grid-area: form; }
  .newsletter__fieldsWrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .newsletter__fieldWrapper {
    width: 48%;
    display: flex;
    flex-direction: column; }
  .newsletter__email {
    width: 100%; }
  .newsletter__lastField {
    margin-left: auto; }
  .newsletter__submit {
    margin-top: var(--spacing-base);
    width: 100%; }

.animatedArrow {
  margin: 0 auto; }
  .animatedArrow__draw {
    stroke-width: 5;
    stroke: var(--purple);
    fill: none;
    stroke-dasharray: 400;
    stroke-dashoffset: 400; }
  .animatedArrow.animate .animatedArrow__draw {
    animation-duration: 2.5s;
    animation-fill-mode: forwards;
    animation-name: draw; }
    .animatedArrow.animate .animatedArrow__draw.tail-1 {
      animation-delay: .6s; }
    .animatedArrow.animate .animatedArrow__draw.tail-2 {
      animation-delay: .8s; }

@keyframes draw {
  to {
    stroke-dashoffset: 0; } }

.social {
  display: flex; }
  .social__item {
    height: var(--spacing-lg-1);
    width: var(--spacing-lg-1);
    margin-right: var(--spacing-sm-1);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: stretch; }
  .social__link {
    height: var(--spacing-lg-1);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch; }
    .social__link:hover .fb path, .social__link:focus .fb path {
      fill: var(--facebook); }
    .social__link:hover .insta path, .social__link:focus .insta path {
      fill: var(--instagram); }
    .social__link:hover .twitter path, .social__link:focus .twitter path {
      fill: var(--twitter); }
    .social__link:hover .whatsapp path, .social__link:focus .whatsapp path {
      fill: var(--whatsapp); }
    .social__link:hover .sp--red, .social__link:focus .sp--red {
      fill: var(--beige); }
  .social__svg {
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%; }
  .social__svgColor {
    transition: var(--hover-transition);
    fill: var(--white); }
  .social .sp--red {
    transition: var(--hover-transition); }

.demovoxWrapper {
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: var(--spacing-lg-5);
  padding-bottom: var(--spacing-lg-5);
  background-color: var(--turquois);
  display: grid;
  justify-content: center;
  grid-template-areas: "title" "text" "progress" "form";
  grid-row-gap: var(--spacing-sm-2); }
  @media (min-width: 81.25em) {
    .demovoxWrapper {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }
  @media (min-width: 37.5em) {
    .demovoxWrapper {
      padding-top: var(--spacing-lg-7);
      padding-bottom: var(--spacing-lg-7); } }
  @media (min-width: 48em) {
    .demovoxWrapper {
      grid-template-areas: "title title" "text text" "form progress" "form progress";
      grid-column-gap: var(--spacing-lg-6);
      grid-template-columns: minmax(400px, 65%) minmax(200px, 35%); } }
  @media (min-width: 68.75em) {
    .demovoxWrapper {
      grid-template-columns: minmax(400px, 55%) minmax(250px, 30%);
      grid-column-gap: var(--spacing-lg-8); } }
  .demovoxWrapper__title {
    text-align: center;
    font-size: var(--spacing-lg-4);
    text-align: left;
    grid-area: title; }
    @media (min-width: 37.5em) {
      .demovoxWrapper__title {
        font-size: var(--spacing-lg-5); } }
    @media (min-width: 48em) {
      .demovoxWrapper__title {
        font-size: var(--spacing-lg-6); } }
  .demovoxWrapper__text {
    margin-bottom: var(--spacing-lg-3);
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-left: 0;
    grid-area: text; }
  .demovoxWrapper__formWrapper {
    grid-area: form; }
  .demovoxWrapper__progress {
    grid-area: progress; }

.progress {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48em) {
    .progress {
      flex-direction: row; } }
  .progress__barWrapper {
    position: relative;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    height: var(--spacing-lg-2);
    background-color: var(--beige); }
    @media (min-width: 48em) {
      .progress__barWrapper {
        height: 100%;
        width: var(--spacing-lg-5);
        min-width: var(--spacing-lg-5); } }
  .progress__bar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(-90deg, var(--purple) 60%, var(--black) 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: 1.6s; }
    @media (min-width: 48em) {
      .progress__bar {
        background: linear-gradient(180deg, var(--purple) 60%, var(--black) 100%);
        transform: scaleY(0);
        transform-origin: bottom; } }
  .progress__text {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    font-size: var(--spacing-sm-1);
    text-align: center;
    transform: translateY(0);
    margin-top: var(--spacing-sm-3); }
    @media (min-width: 48em) {
      .progress__text {
        width: auto;
        opacity: 0;
        text-align: left;
        margin-left: var(--spacing-lg-5);
        margin-bottom: var(--spacing-base);
        transition: opacity 0.3s ease-out 1.8s; }
        .visible .progress__text {
          opacity: 1; } }
    .progress__text svg {
      display: none; }
      @media (min-width: 48em) {
        .progress__text svg {
          display: block;
          position: absolute;
          transform: rotate(170deg) translateX(calc(100% + var(--spacing-sm-5))) translateY(35%);
          width: var(--spacing-lg-3);
          height: var(--spacing-lg-2);
          opacity: 0;
          transition-duration: 1s;
          transition-delay: 2.4s;
          transition-timing-function: ease-out; }
          .visible .progress__text svg {
            opacity: 1; } }
  .progress__entries {
    font-weight: 700; }
    @media (min-width: 48em) {
      .progress__entries {
        background-color: var(--beige);
        padding: 2px var(--spacing-sm-5);
        border-radius: var(--border-radius); } }

.reasons {
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: var(--spacing-lg-5);
  padding-bottom: var(--spacing-lg-5);
  background-color: var(--beige); }
  @media (min-width: 81.25em) {
    .reasons {
      padding-left: calc((100vw - 1250px)/2);
      padding-right: calc((100vw - 1250px)/2); } }
  @media (min-width: 37.5em) {
    .reasons {
      padding-top: var(--spacing-lg-7);
      padding-bottom: var(--spacing-lg-7); } }
  .reasons__listItem {
    display: block;
    position: relative;
    padding-left: var(--spacing-lg-4);
    margin-bottom: var(--spacing-sm-2); }
    .reasons__listItem:before {
      content: '';
      position: absolute;
      left: 0;
      background-image: url("../../img/arrow.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      display: inline-block;
      width: var(--spacing-lg-2);
      height: var(--spacing-lg-2);
      top: 0.1em; }
    .reasons__listItem:nth-child(0):before {
      transform: rotate(-8deg); }
    .reasons__listItem:nth-child(1):before {
      transform: rotate(4deg); }
    .reasons__listItem:nth-child(2):before {
      transform: rotate(0deg); }
    .reasons__listItem:nth-child(3):before {
      transform: rotate(-8deg); }
    .reasons__listItem:nth-child(4):before {
      transform: rotate(-4deg); }
    .reasons__listItem:nth-child(5):before {
      transform: rotate(2deg); }
    .reasons__listItem:nth-child(6):before {
      transform: rotate(9deg); }
    .reasons__listItem:nth-child(7):before {
      transform: rotate(9deg); }
    .reasons__listItem:nth-child(8):before {
      transform: rotate(-2deg); }
    .reasons__listItem:nth-child(9):before {
      transform: rotate(3deg); }
  .reasons__title {
    text-align: center; }
  @media (min-width: 40.6em) {
    .reasons__content {
      margin-left: auto;
      margin-right: auto;
      max-width: 80%; } }
  @media (min-width: 56.25em) {
    .reasons__content {
      max-width: 70%; } }

.quote {
  display: flex;
  flex-direction: column; }
  @media (min-width: 37.5em) {
    .quote {
      flex-direction: row; } }
  .quote__imageWrapper {
    max-height: 400px; }
    @media (min-width: 37.5em) {
      .quote__imageWrapper {
        max-height: none;
        width: 55%; } }
  .quote__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block; }
  .quote__wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--spacing-lg-3) 4vw;
    background-color: var(--purple);
    color: var(--white); }
    @media (min-width: 37.5em) {
      .quote__wrapper {
        width: 45%; } }
    @media (min-width: 68.75em) {
      .quote__wrapper {
        padding: var(--spacing-lg-6); } }
    .quote__wrapper:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      transform: translateY(-98%);
      height: 20%;
      width: 100%;
      background-color: var(--purple);
      clip-path: polygon(0 98%, 100% 0, 100% 100%, 0% 100%); }
      @media (min-width: 37.5em) {
        .quote__wrapper:before {
          height: 100%;
          width: 20%;
          clip-path: polygon(98% 0, 100% 0, 100% 100%, 0% 100%);
          transform: translateX(-98%); } }
  .quote__text {
    position: relative;
    z-index: 1;
    font-family: var(--font-heading);
    font-size: var(--spacing-lg-2);
    line-height: var(--line-height-sm);
    transform-style: preserve-3d; }
    @media (min-width: 48em) {
      .quote__text {
        font-size: var(--spacing-lg-3); } }
    @media (min-width: 68.75em) {
      .quote__text {
        font-size: var(--spacing-lg-4); } }
    .quote__text:after {
      content: '';
      position: absolute;
      left: 0;
      z-index: 0;
      top: 0;
      transform: translate3d(-15%, -50%, -1px);
      background-image: url("../../img/quote.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      width: var(--spacing-lg-4);
      height: var(--spacing-lg-4); }
      @media (min-width: 37.5em) {
        .quote__text:after {
          transform: translate3d(-25%, -50%, -1px);
          width: var(--spacing-lg-5);
          height: var(--spacing-lg-5); } }
      @media (min-width: 48em) {
        .quote__text:after {
          width: var(--spacing-lg-6);
          height: var(--spacing-lg-6); } }
      @media (min-width: 68.75em) {
        .quote__text:after {
          width: var(--spacing-lg-7);
          height: var(--spacing-lg-7); } }
  .quote__name {
    font-family: var(--font-heading);
    font-size: var(--spacing-sm-1);
    margin-top: var(--spacing-sm-2);
    letter-spacing: var(--letter-spacing-base);
    color: var(--beige);
    text-align: right; }
    @media (min-width: 37.5em) {
      .quote__name {
        text-align: left;
        margin-top: var(--spacing-base); } }

.wp-block-list li {
  display: block;
  position: relative;
  padding-left: var(--spacing-lg-4);
  margin-bottom: var(--spacing-sm-2); }
  .wp-block-list li:before {
    content: '';
    position: absolute;
    left: 0;
    background-image: url("../../img/arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: var(--spacing-lg-2);
    height: var(--spacing-lg-2);
    top: 0.1em; }
  .wp-block-list li:nth-child(0):before {
    transform: rotate(9deg); }
  .wp-block-list li:nth-child(1):before {
    transform: rotate(3deg); }
  .wp-block-list li:nth-child(2):before {
    transform: rotate(-8deg); }
  .wp-block-list li:nth-child(3):before {
    transform: rotate(4deg); }
  .wp-block-list li:nth-child(4):before {
    transform: rotate(6deg); }
  .wp-block-list li:nth-child(5):before {
    transform: rotate(3deg); }
  .wp-block-list li:nth-child(6):before {
    transform: rotate(3deg); }
  .wp-block-list li:nth-child(7):before {
    transform: rotate(5deg); }
  .wp-block-list li:nth-child(8):before {
    transform: rotate(6deg); }
  .wp-block-list li:nth-child(9):before {
    transform: rotate(-2deg); }

.wp-block-separator {
  border-color: var(--black);
  margin-top: var(--spacing-lg-2);
  margin-bottom: var(--spacing-lg-2);
  margin-left: 0; }

.wp-block-pb-accordion-item {
  background-color: var(--beige);
  padding: var(--spacing-lg-1);
  margin-bottom: var(--spacing-base); }
  .wp-block-pb-accordion-item .c-accordion__title {
    font-size: var(--spacing-lg-1);
    margin: 0; }
    .wp-block-pb-accordion-item .c-accordion__title:after {
      content: '';
      background-image: url(../../img/plus.svg);
      width: var(--spacing-lg-2);
      height: var(--spacing-lg-2);
      background-repeat: no-repeat;
      background-size: contain; }
  .wp-block-pb-accordion-item.is-open .c-accordion__title:after {
    background-image: url(../../img/minus.svg); }
  .wp-block-pb-accordion-item .c-accordion__content {
    margin-top: var(--spacing-base); }
    .wp-block-pb-accordion-item .c-accordion__content > :last-child {
      margin-bottom: 0; }

.wp-block-button__link {
  padding: var(--spacing-sm-1) var(--spacing-base) !important;
  width: 100%;
  height: auto !important;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-base);
  border-radius: var(--border-radius) !important;
  border: none !important;
  background-color: var(--purple) !important;
  cursor: pointer;
  font-weight: 700 !important;
  transition: var(--hover-transition) !important;
  transform: translateY(0);
  font-size: var(--spacing-base) !important; }
  .wp-block-button__link:hover, .wp-block-button__link:focus {
    transform: translateY(-2px);
    background-color: var(--black) !important;
    color: var(--white) !important; }

.wp-block-file {
  margin-top: var(--spacing-sm-1);
  margin-bottom: var(--spacing-sm-1); }
  .wp-block-file a {
    display: inline-block; }
  .wp-block-file__button {
    padding: var(--spacing-sm-1) var(--spacing-base) !important;
    width: 100%;
    height: auto !important;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-base);
    border-radius: var(--border-radius) !important;
    border: none !important;
    background-color: var(--purple) !important;
    cursor: pointer;
    font-weight: 700 !important;
    transition: var(--hover-transition) !important;
    transform: translateY(0);
    font-size: var(--spacing-base) !important;
    padding-right: var(--spacing-lg-6) !important;
    position: relative;
    width: auto; }
    .wp-block-file__button:hover, .wp-block-file__button:focus {
      transform: translateY(-2px);
      background-color: var(--black) !important;
      color: var(--white) !important; }
    .wp-block-file__button:after {
      content: '';
      position: absolute;
      right: var(--spacing-sm-1);
      top: 50%;
      transform: translateY(-50%);
      background-image: url(../../img/download.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      height: var(--spacing-lg-2);
      width: var(--spacing-lg-2); }

.archiveSupporter {
  margin-top: var(--spacing-lg-5);
  margin-bottom: var(--spacing-lg-5); }
  .archiveSupporter__items {
    display: grid;
    grid-template-rows: auto;
    grid-row-gap: var(--spacing-lg-2);
    grid-column-gap: var(--spacing-lg-2);
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: var(--spacing-base); }
    @media (min-width: 56.25em) {
      .archiveSupporter__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-gap: var(--spacing-lg-2); } }
    @media (min-width: 81.25em) {
      .archiveSupporter__items {
        grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .archiveSupporter__item {
    display: flex;
    flex-direction: column; }
    .archiveSupporter__item:nth-child(odd) .archiveSupporter__textWrapper:before {
      clip-path: polygon(0 0, 0% 100%, 100% 100%); }
    .archiveSupporter__item:nth-child(even) .archiveSupporter__textWrapper:before {
      clip-path: polygon(0 65%, 100% 0, 100% 100%, 0% 100%); }
  .archiveSupporter__imgWrapper {
    position: relative;
    position: relative; }
    .archiveSupporter__imgWrapper:before {
      content: "";
      display: block;
      height: 0;
      width: 100%;
      padding-top: 100%; }
    .archiveSupporter__imgWrapper img,
    .archiveSupporter__imgWrapper svg {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      font-family: 'object-fit: cover;'; }
    .archiveSupporter__imgWrapper:after {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: var(--purple-transparent);
      z-index: 1;
      top: 0;
      left: 0; }
  .archiveSupporter__img {
    filter: saturate(0) brightness(1.2);
    display: block; }
  .archiveSupporter__textWrapper {
    padding: var(--spacing-base);
    flex-grow: 2;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--purple);
    color: var(--white); }
    .archiveSupporter__textWrapper:before {
      content: '';
      position: absolute;
      width: 100%;
      height: var(--spacing-lg-3);
      clip-path: polygon(0 0, 0% 100%, 100% 100%);
      background-color: var(--purple);
      top: calc((var(--spacing-lg-3) / -1) + 2px);
      left: 0; }
  .archiveSupporter__quote {
    font-family: var(--font-heading);
    font-size: var(--spacing-lg-1);
    line-height: var(--line-height-sm); }
    .archiveSupporter__quote:after {
      content: '';
      position: absolute;
      left: 0;
      z-index: 0;
      top: 0;
      transform: translate3d(30%, 0, -1px);
      background-image: url("../../img/quote.svg");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      width: var(--spacing-lg-3);
      height: var(--spacing-lg-3); }
  .archiveSupporter__description {
    font-size: var(--spacing-sm-2);
    color: var(--beige);
    font-weight: 700;
    margin-bottom: 0;
    margin-top: auto; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtcmVzZXQtYW5kLW5vcm1hbGl6ZS9zY3NzL3Jlc2V0LWFuZC1ub3JtYWxpemUuc2NzcyIsImZvbnRzL19mdXR1cmEuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19odG1sLnNjc3MiLCJiYXNlL19ib2R5LnNjc3MiLCJiYXNlL190eXBvZ3JhcGh5LnNjc3MiLCJiYXNlL19mb3JtLnNjc3MiLCJhY2Nlc3NpYmlsaXR5L19zY3JlZW4tcmVhZGVyLXRleHQuc2NzcyIsInRlbXBsYXRlcy9fc2luZ2xlLnNjc3MiLCJ0ZW1wbGF0ZXMvX3BhZ2Uuc2NzcyIsInBhcnRpYWxzL19oZWFkZXJNYWluV3JhcHBlci5zY3NzIiwicGFydGlhbHMvX3NpdGVNYWluLnNjc3MiLCJwYXJ0aWFscy9fc2l0ZUZvb3Rlci5zY3NzIiwicGFydGlhbHMvX3NpdGVIZWFkZXIuc2NzcyIsInBhcnRpYWxzL19uYXYuc2NzcyIsInBhcnRpYWxzL19uZXdzbGV0dGVyLnNjc3MiLCJwYXJ0aWFscy9fYW5pbWF0ZWRBcnJvdy5zY3NzIiwicGFydGlhbHMvX3NvY2lhbC5zY3NzIiwicGFydGlhbHMvX2RlbW92b3guc2NzcyIsInBhcnRpYWxzL19wcm9ncmVzcy5zY3NzIiwicGFydGlhbHMvX3JlYXNvbnMuc2NzcyIsInBhcnRpYWxzL19xdW90ZS5zY3NzIiwiYmxvY2svX2xpc3Quc2NzcyIsImJsb2NrL19zZXBhcmF0b3Iuc2NzcyIsImJsb2NrL19hY2NvcmRpb24uc2NzcyIsImJsb2NrL19idXR0b24uc2NzcyIsImJsb2NrL19maWxlLnNjc3MiLCJibG9jay9fYXJjaGl2ZVN1cHBvcnRlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9jc3MtcmVzZXQtYW5kLW5vcm1hbGl6ZS9zY3NzL3Jlc2V0LWFuZC1ub3JtYWxpemUnO1xuXG5AaW1wb3J0IFwiZm9udHMvZnV0dXJhXCI7XG5cbkBpbXBvcnQgXCJiYXNlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJhc2UvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYmFzZS9odG1sXCI7XG5AaW1wb3J0IFwiYmFzZS9ib2R5XCI7XG5AaW1wb3J0IFwiYmFzZS90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiYmFzZS9mb3JtXCI7XG5cbkBpbXBvcnQgXCJhY2Nlc3NpYmlsaXR5L3NjcmVlbi1yZWFkZXItdGV4dFwiO1xuXG5AaW1wb3J0IFwidGVtcGxhdGVzL3NpbmdsZVwiO1xuQGltcG9ydCBcInRlbXBsYXRlcy9wYWdlXCI7XG5cbkBpbXBvcnQgXCJwYXJ0aWFscy9oZWFkZXJNYWluV3JhcHBlclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3NpdGVNYWluXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvc2l0ZUZvb3RlclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3NpdGVIZWFkZXJcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9uYXZcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9uZXdzbGV0dGVyXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvYW5pbWF0ZWRBcnJvd1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL3NvY2lhbFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2RlbW92b3hcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL3JlYXNvbnNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9xdW90ZVwiO1xuXG5AaW1wb3J0IFwiYmxvY2svbGlzdFwiO1xuQGltcG9ydCBcImJsb2NrL3NlcGFyYXRvclwiO1xuQGltcG9ydCBcImJsb2NrL2FjY29yZGlvblwiO1xuQGltcG9ydCBcImJsb2NrL2J1dHRvblwiO1xuQGltcG9ydCBcImJsb2NrL2ZpbGVcIjtcbkBpbXBvcnQgXCJibG9jay9hcmNoaXZlU3VwcG9ydGVyXCI7XG4iLCIvKipcbiAqIEJhc2VkIG9uXG4gKlxuICogIC0gcmVzZXQuY3NzIDIuMCBieSBFcmljIE1leWVyXG4gICAgICAocHVibGljIGRvbWFpbilcbiAqICAgIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gKlxuICogIC0gbm9ybWFsaXplLmNzcyA4LjAuMSBieSBOaWNvbGFzIEdhbGxhZ2hlciBhbmQgSm9uYXRoYW4gTmVhbFxuICogICAgKGxpY2Vuc2VkIHVuZGVyIE1JVClcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAqXG4gKiAgLSBSZWJvb3QgZnJvbSBCb290c3RyYXAgNC41LjNcbiAqICAgIChsaWNlbnNlZCB1bmRlciBNSVQpXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXBcbiAqL1xuXG5cbi8qKlxuICogSUUxMCsgZG9lc24ndCBob25vciBgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCI+YCBpbiBzb21lIGNhc2VzXG4gKi9cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cblxuLyoqXG4gKiBnZW5lcmFsIHJlc2V0XG4gKi9cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcbmIsIHUsIGksIGNlbnRlcixcbmRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxuYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbywgbWFpbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vKipcbiAqIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnNcbiAqL1xuXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLFxubWFpbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8qKlxuICogaW5oZXJpdCBib3ggbW9kZWwgZm9yIGFsbCBlbGVtZW50c1xuICovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cblxuLyoqXG4gKiBodG1sIHJvb3QgcnVsZXNcbiAqIDEuIHNldCBib3JkZXItYm94IGZvciBpbmhlcml0YW5jZVxuICogMi4gYXZvaWQgMzAwbXMgY2xpY2sgZGVsYXkgb24gdG91Y2ggZGV2aWNlcyB0aGF0IHN1cHBvcnQgdGhlIGB0b3VjaC1hY3Rpb25gXG4gKiAgICBDU1MgcHJvcGVydHlcbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUsIG9uXG4gKiAgICBXaW5kb3dzIFBob25lIGFuZCBpT1MuXG4gKiA0LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSxcbiAqICAgIHNvIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4gKiA1LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDQgKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC8qIDUgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG5cbi8qKlxuICogYm9keSBydWxlc1xuICogMS4gcmVzZXQgbGluZS1oZWlnaHQgdG8gMVxuICogMi4gc2V0IGJhc2UgZm9udC1mYW1pbHkgdG8gc2Fucy1zZXJpZlxuICogMy4gU2V0IGFuIGV4cGxpY2l0IGluaXRpYWwgdGV4dC1hbGlnbiB2YWx1ZSBzbyB0aGF0IHdlIGNhbiBsYXRlciB1c2UgdGhlXG4gKiAgICBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuICovXG5cbmJvZHkge1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiAyICovXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAzICovXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qKlxuICogRnV0dXJlLXByb29mIHJ1bGU6IGluIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCA6Zm9jdXMtdmlzaWJsZSwgc3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmVcbiAqIG9uIGVsZW1lbnRzIHRoYXQgcHJvZ3JhbW1hdGljYWxseSByZWNlaXZlIGZvY3VzIGJ1dCB3b3VsZG4ndCBub3JtYWxseSBzaG93IGEgdmlzaWJsZVxuICogZm9jdXMgb3V0bGluZS4gSW4gZ2VuZXJhbCwgdGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIG91dGxpbmUgaXMgb25seSBhcHBsaWVkIGlmIHRoZVxuICogaW50ZXJhY3Rpb24gdGhhdCBsZWQgdG8gdGhlIGVsZW1lbnQgcmVjZWl2aW5nIHByb2dyYW1tYXRpYyBmb2N1cyB3YXMgYSBrZXlib2FyZCBpbnRlcmFjdGlvbixcbiAqIG9yIHRoZSBicm93c2VyIGhhcyBzb21laG93IGRldGVybWluZWQgdGhhdCB0aGUgdXNlciBpcyBwcmltYXJpbHkgYSBrZXlib2FyZCB1c2VyIGFuZC9vclxuICogd2FudHMgZm9jdXMgb3V0bGluZXMgdG8gYWx3YXlzIGJlIHByZXNlbnRlZC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpmb2N1cy12aXNpYmxlXG4gKiBhbmQgaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE4LzAzL2ZvY3VzLXZpc2libGUtYW5kLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5L1xuICovXG5cblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLyoqXG4gKiBMaXN0c1xuICovXG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyoqXG4gKiBRdW90ZXNcbiAqL1xuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOjpiZWZvcmUsXG5ibG9ja3F1b3RlOjphZnRlcixcbnE6OmJlZm9yZSxcbnE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cblxuLyoqXG4gKiBUYWJsZXNcbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5jYXB0aW9uIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG5cblxuLyoqXG4gKiBUYWJsZSBIZWFkZXJzXG4gKiAxLiBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAqICAgIGNsb3Nlc3QgcGFyZW50IHdpdGggYSBzZXQgYHRleHQtYWxpZ25gLlxuICogMi4gRml4IGFsaWdubWVudCBmb3IgU2FmYXJpXG4gKi9cblxudGgge1xuICAvKiAxICovXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgdGV4dC1hbGlnbjogLXdlYmtpdC1tYXRjaC1wYXJlbnQ7XG59XG5cblxuLyoqXG4gKiBIb3Jpem9udGFsIExpbmVzXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cblxuLyoqXG4gKiBQcmVmb3JtYXR0ZWQgVGV4dFxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICogMy4gV2UgaGF2ZSBAdmlld3BvcnQgc2V0IHdoaWNoIGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExXG4gKiAgICBhbmQgRWRnZSwgc28gd2UgZm9yY2UgYSBub24tb3ZlcmxhcHBpbmcsIG5vbi1hdXRvLWhpZGluZyBzY3JvbGxiYXIgdG9cbiAqICAgIGNvdW50ZXJhY3QuXG4gKi9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbn1cblxucHJlIHtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgLyogMyAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vKipcbiAqIExpbmtzXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbiAqIDQuIFByZXZlbnQgdGhlIHRleHQtZGVjb3JhdGlvbiB0byBiZSBza2lwcGVkLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgLyogMSAqL1xuICBib3JkZXItYm90dG9tOiAwO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDMgKi9cbiAgY3Vyc29yOiBoZWxwO1xuICAvKiA0ICovXG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBlbWAgYmVpbmcgYWZmZWN0ZWQgZnJvbSBnbG9iYWwgcmVzZXRcbiAqL1xuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuXG4vKipcbiAqIEhpZGUgU1ZHIG92ZXJmbG93IGluIElFXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuICogRGV0YWlscyBhdCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MDkzXG4gKi9cblxuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuXG4vKipcbiAqIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbiAqIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbiAqIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZS9cbiAqL1xuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cblxuLyoqXG4gKiBmb3JtIGVsZW1lbnQgcmVzZXRzXG4gKiAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmlcbiAqIDIuIGluaGVyaXQgZm9udCBydWxlc1xuICovXG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbi8qIDEgKi9cblt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgLyogMiAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAqIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gKiBjZW50ZXJlZCB3aXRoaW4gdGhlIGlucHV0LlxuICogU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gKi9cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKiAyLiBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXJcbiAqICAgIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogU2V0IHRoZSBjdXJzb3IgZm9yIG5vbi1gPGJ1dHRvbj5gIGJ1dHRvbnNcbiAqIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzA1NjJcbiAqL1xuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbiAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0OTkwXG4gKi9cblxuc2VsZWN0IHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGZyb20gRmlyZWZveCwgYnV0IGRvbid0IHJlc3RvcmUgdGhlIG91dGxpbmVcbiAqIGxpa2UgTm9ybWFsaXplLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG4gKi9cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLyoqXG4gKiBTdXBwcmVzcyB0aGUgZm9jdXMgb3V0bGluZSBvbiBlbGVtZW50cyB0aGF0IGNhbm5vdCBiZSBhY2Nlc3NlZCB2aWEga2V5Ym9hcmQuXG4gKiBUaGlzIHByZXZlbnRzIGFuIHVud2FudGVkIGZvY3VzIG91dGxpbmUgZnJvbSBhcHBlYXJpbmcgYXJvdW5kIGVsZW1lbnRzIHRoYXRcbiAqIG1pZ2h0IHN0aWxsIHJlc3BvbmQgdG8gcG9pbnRlciBldmVudHMuXG4gKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2VcbiAqL1xuXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vKipcbiAqIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnRgIG9uIGZpZWxkc2V0cyxcbiAqIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDBgIGJ5IGRlZmF1bHQuXG4gKiBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OVxuICogYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICovXG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFNldCBkaXNwbGF5IHRvIGJsb2NrIGZvciBhbGwgYnJvd3NlcnNcbiAqL1xuXG5sZWdlbmQge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqIDIuIFRleHRhcmVhcyBzaG91bGQgcmVhbGx5IG9ubHkgcmVzaXplIHZlcnRpY2FsbHkgc28gdGhleSBkb24ndCBicmVhayB0aGVpclxuICogICAgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gKi9cblxudGV4dGFyZWEge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAyICovXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMiAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgZm9udDogaW5oZXJpdDtcbn1cblxuXG4vKipcbiAqIENvcnJlY3QgZWxlbWVudCBkaXNwbGF5IGZvciBvdXRwdXRcbiAqL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qKlxuICogQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbiAqIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJGdXR1cmEgQ29uZGVuc2VkXCI7XG4gIHNyYzogIHVybCgnLi4vLi4vZm9udHMvZnV0dXJhLWNvbmRlbnNlZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi8uLi9mb250cy9mdXR1cmEtY29uZGVuc2VkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cbiIsIi8vIEJyZWFrcG9pbnRzXG4vKiA9PT09PSA9PSA9ID09PSAyMGVtICgzMjBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4teHM6IFwiKG1pbi13aWR0aDogMjBlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDM3LjVlbSAoNDgwcHgpID09PSA9ID09ID09PT09ICovXG4kc2NyZWVuLXhzLXNtOiBcIihtaW4td2lkdGg6IDMwZW0pXCI7XG4vKiA9PT09PSA9PSA9ID09PSAzNy41ZW0gKDYwMHB4KSA9PT0gPSA9PSA9PT09PSAqL1xuJHNjcmVlbi1zbTogXCIobWluLXdpZHRoOiAzNy41ZW0pXCI7XG4vKiA9PT09PSA9PSA9ID09PSA0OGVtICg2NTBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4tc20tbWQ6IFwiKG1pbi13aWR0aDogNDAuNmVtKVwiO1xuLyogPT09PT0gPT0gPSA9PT0gNDhlbSAoNzY4cHgpID09PSA9ID09ID09PT09ICovXG4kc2NyZWVuLW1kOiBcIihtaW4td2lkdGg6IDQ4ZW0pXCI7XG4vKiA9PT09PSA9PSA9ID09PSA1Ni4yNWVtICg5MDBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4tbWQtbGc6IFwiKG1pbi13aWR0aDogNTYuMjVlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDY4Ljc1ZW0gKDExMDBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4tbGc6IFwiKG1pbi13aWR0aDogNjguNzVlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDc1ZW0gKDEyMDBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4tbGcteGw6IFwiKG1pbi13aWR0aDogNzVlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDgxLjI1ZW0gKDEzMDBweCkgPT09ID0gPT0gPT09PT0gKi9cbiRzY3JlZW4teGw6IFwiKG1pbi13aWR0aDogODEuMjVlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDEwMGVtICgxNjAwcHgpID09PSA9ID09ID09PT09ICovXG4kc2NyZWVuLXhsLXh4bDogXCIobWluLXdpZHRoOiAxMDBlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDEyNWVtICgyMDAwcHgpID09PSA9ID09ID09PT09ICovXG4kc2NyZWVuLXh4bDogXCIobWluLXdpZHRoOiAxMjVlbSlcIjtcbi8qID09PT09ID09ID0gPT09IDEyNWVtICgyNDAwcHgpID09PSA9ID09ID09PT09ICovXG4kc2NyZWVuLXh4eGw6IFwiKG1pbi13aWR0aDogMTUwZW0pXCI7XG5cblxuOnJvb3Qge1xuICAvLyBjb2xvcnNcbiAgLS13aGl0ZSA6ICNmNmY2ZjY7XG4gIC0tYmxhY2sgOiAjMDgwNzA4O1xuICAtLXB1cnBsZTogIzY5MWM5YztcbiAgLS10dXJxdW9pczogIzk1Q0NDNDtcbiAgLS1iZWlnZTogI0U2RTFENTtcblxuICAtLWJlaWdlLXRyYW5zcGFyZW50OiByZ2JhKDIzMCwgMjI1LCAyMTMsIDAuNCk7XG4gIC0tcHVycGxlLXRyYW5zcGFyZW50OiByZ2JhKDEwNSwgMjgsIDE1NiwgMC4xMik7XG5cbiAgLy8gU29jaWFsIE1lZGlhXG4gIC0taW5zdGFncmFtOiAjRTEzMDZDO1xuICAtLXdoYXRzYXBwOiAjM0FEMzY2O1xuICAtLWZhY2Vib29rOiAjMTg3N0YyO1xuICAtLXR3aXR0ZXI6ICMxREExRjI7XG5cbiAgLS1lcnJvcjogI0ExMUI0MTtcbiAgLS1mb250LWhlYWRpbmc6IFwiRnV0dXJhIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtcGFyYWdyYXBoOiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuICAvLyBzaXplc1xuICAtLXJhdGlvOiAxLjI7XG4gIC0tYmFzZS1zaXplOiAxcmVtO1xuXG4gIC0tc3BhY2luZy1zbS05OiBjYWxjKHZhcigtLXNwYWNpbmctc20tOCkgLyB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctc20tODogY2FsYyh2YXIoLS1zcGFjaW5nLXNtLTcpIC8gdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLXNtLTc6IGNhbGModmFyKC0tc3BhY2luZy1zbS02KSAvIHZhcigtLXJhdGlvKSk7XG4gIC0tc3BhY2luZy1zbS02OiBjYWxjKHZhcigtLXNwYWNpbmctc20tNSkgLyB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctc20tNTogY2FsYyh2YXIoLS1zcGFjaW5nLXNtLTQpIC8gdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLXNtLTQ6IGNhbGModmFyKC0tc3BhY2luZy1zbS0zKSAvIHZhcigtLXJhdGlvKSk7XG4gIC0tc3BhY2luZy1zbS0zOiBjYWxjKHZhcigtLXNwYWNpbmctc20tMikgLyB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctc20tMjogY2FsYyh2YXIoLS1zcGFjaW5nLXNtLTEpIC8gdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLXNtLTE6IGNhbGModmFyKC0tYmFzZS1zaXplKSAvIHZhcigtLXJhdGlvKSk7XG5cbiAgLS1zcGFjaW5nLWJhc2U6IHZhcigtLWJhc2Utc2l6ZSk7XG5cbiAgLS1zcGFjaW5nLWxnLTE6IGNhbGModmFyKC0tc3BhY2luZy1iYXNlKSAqIHZhcigtLXJhdGlvKSk7XG4gIC0tc3BhY2luZy1sZy0yOiBjYWxjKHZhcigtLXNwYWNpbmctbGctMSkgKiB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctbGctMzogY2FsYyh2YXIoLS1zcGFjaW5nLWxnLTIpICogdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLWxnLTQ6IGNhbGModmFyKC0tc3BhY2luZy1sZy0zKSAqIHZhcigtLXJhdGlvKSk7XG4gIC0tc3BhY2luZy1sZy01OiBjYWxjKHZhcigtLXNwYWNpbmctbGctNCkgKiB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctbGctNjogY2FsYyh2YXIoLS1zcGFjaW5nLWxnLTUpICogdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLWxnLTc6IGNhbGModmFyKC0tc3BhY2luZy1sZy02KSAqIHZhcigtLXJhdGlvKSk7XG4gIC0tc3BhY2luZy1sZy04OiBjYWxjKHZhcigtLXNwYWNpbmctbGctNykgKiB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctbGctOTogY2FsYyh2YXIoLS1zcGFjaW5nLWxnLTgpICogdmFyKC0tcmF0aW8pKTtcbiAgLS1zcGFjaW5nLWxnLTEwOiBjYWxjKHZhcigtLXNwYWNpbmctbGctOSkgKiB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctbGctMTE6IGNhbGModmFyKC0tc3BhY2luZy1sZy0xMCkgKiB2YXIoLS1yYXRpbykpO1xuICAtLXNwYWNpbmctbGctMTI6IGNhbGModmFyKC0tc3BhY2luZy1sZy0xMSkgKiB2YXIoLS1yYXRpbykpO1xuXG5cbiAgLS1saW5lLWhlaWdodC14czogMS4xO1xuICAtLWxpbmUtaGVpZ2h0LXNtOiAxLjI7XG4gIC0tbGluZS1oZWlnaHQtYmFzZTogMS41O1xuXG5cbiAgLS1sZXR0ZXItc3BhY2luZy1zbTogMC4wMmVtO1xuICAtLWxldHRlci1zcGFjaW5nLWJhc2U6IDAuMDRlbTtcblxuICAtLWhvdmVyLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblxuICAtLWJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1zbTogNXB4O1xuXG4gIC0td2lkZS1zY3JlZW4tcGFkZGluZzogNXZ3O1xuXG5cbiAgLy8gUmFpc2Vub3dcbiAgLS10YW1hcm8tcHJpbWFyeS1jb2xvcjogdmFyKC0tcHVycGxlKTtcbiAgLS10YW1hcm8tcHJpbWFyeS1jb2xvcl9faG92ZXI6IHZhcigtLXB1cnBsZSk7XG4gIC0tdGFtYXJvLXByaW1hcnktYmctY29sb3I6IHZhcigtLWJlaWdlLXRyYW5zcGFyZW50KTtcbiAgLS10YW1hcm8tYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIC0tdGFtYXJvLXRleHQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgLS10YW1hcm8tcGxhY2Vob2xkZXItY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgLS10YW1hcm8tZXJyb3ItY29sb3I6IHZhcigtLWVycm9yKTtcbiAgLS10YW1hcm8tYnV0dG9uLXByaW1hcnktY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgLS10YW1hcm8tYnV0dG9uLXByaW1hcnktY29sb3JfX2hvdmVyOiB2YXIoLS13aGl0ZSk7XG4gIC0tdGFtYXJvLWJ1dHRvbi1wcmltYXJ5LWJnLWNvbG9yOiB2YXIoLS10dXJxdW9pcyk7XG4gIC0tdGFtYXJvLWJ1dHRvbi1wcmltYXJ5LWJnLWNvbG9yX19ob3ZlcjogdmFyKC0tYmxhY2spO1xuICAtLXRhbWFyby1idXR0b24tcHJpbWFyeS1ib3JkZXItY29sb3I6IHZhcigtLXR1cnF1b2lzKTtcbiAgLS10YW1hcm8tYnV0dG9uLXByaW1hcnktYm9yZGVyLWNvbG9yX19ob3ZlcjogdmFyKC0tYmxhY2spO1xuICAtLXRhbWFyby1iZy1jb2xvcjogdmFyKC0td2hpdGUpO1xuXG5cbiAgLy8gRXZlbnRzIGNhbGVuZGFyXG4gIC0tdGVjLWNvbG9yLWFjY2VudC1wcmltYXJ5OiB2YXIoLS1wdXJwbGUpO1xuICAtLXRlYy1mb250LWZhbWlseS1zYW5zLXNlcmlmOiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gIC0tdGVjLWZvcm0tY29sb3ItYm9yZGVyLXNlY29uZGFyeTogdmFyKC0tYmVpZ2UpO1xuICAtLXRlYy1jb2xvci1ib3JkZXItc2Vjb25kYXJ5OiB2YXIoLS1iZWlnZSk7XG4gIC0tdGVjLWNvbG9yLWJvcmRlci1kZWZhdWx0OiB2YXIoLS1iZWlnZSk7XG4gIC0tdGVjLWNvbG9yLXRleHQtc2Vjb25kYXJ5OiB2YXIoLS1ibGFjayk7XG4gIC0tdGVjLWNvbG9yLWljb24tc2Vjb25kYXJ5OiB2YXIoLS1ibGFjayk7XG4gIC0tdGVjLWNvbG9yLWljb24tZGlzYWJsZWQ6IHZhcigtLWJlaWdlKTtcbiAgLS10ZWMtY29sb3ItaWNvbi1hY3RpdmU6IHZhcigtLWJsYWNrKTtcbiAgLS10ZWMtY29sb3ItYWNjZW50LXByaW1hcnktaG92ZXI6IHZhcigtLXR1cnF1b2lzKTtcbn1cblxuQG1lZGlhICN7JHNjcmVlbi1tZC1sZ30ge1xuICA6cm9vdCB7XG4gICAgLS1ib3JkZXItcmFkaXVzOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcbiAgOnJvb3Qge1xuICAgIC0tYm9yZGVyLXJhZGl1czogMjBweDtcbiAgfVxufVxuIiwiQG1peGluIHNpdGUtY29udGFpbmVyKCkge1xuICBwYWRkaW5nLWxlZnQ6IDV2dztcbiAgcGFkZGluZy1yaWdodDogNXZ3O1xuICBAbWVkaWEgI3skc2NyZWVuLXhsfSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtIDEyNTBweCkvMik7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAxMjUwcHgpLzIpO1xuICB9XG59XG5cbkBtaXhpbiBtYWluLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogOHZ3O1xuICBwYWRkaW5nLXJpZ2h0OiA4dnc7XG4gIEBtZWRpYSAjeyRzY3JlZW4teGx9IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gODAwcHgpLzIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTI1MHB4KS8yKTtcbiAgfVxufVxuXG5AbWl4aW4gcGFkZGluZy12ZXJ0aWNhbCgpIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctbGctNSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuXG4gIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1sZy03KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sZy03KTtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLXJlc2V0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGJ1dHRvbigkY29sb3I6IHZhcigtLXdoaXRlKSwgJGJhY2tncm91bmQtY29sb3I6IHZhcigtLXB1cnBsZSksICRob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibGFjayksICRob3Zlci1jb2xvcjogdmFyKC0td2hpdGUpKSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20tMSkgdmFyKC0tc3BhY2luZy1iYXNlKSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1iYXNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB2YXIoLS1ob3Zlci10cmFuc2l0aW9uKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1iYXNlKSAhaW1wb3J0YW50O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkaG92ZXItY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gaWNvbi1idXR0b24oJGljb24pIHtcbiAgQGluY2x1ZGUgYnV0dG9uO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLWxnLTYpICFpbXBvcnRhbnQ7O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMik7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMik7XG4gIH1cbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkaGVpZ2h0LCAkd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgIGNvbnRlbnQ6IFwiXCI7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIGhlaWdodDogMDtcbiAgIHdpZHRoOiAxMDAlO1xuICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gIH1cblxuICBpbWcsXG4gIHN2ZyB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG4gICByaWdodDogMDtcbiAgIGJvdHRvbTogMDtcbiAgIGxlZnQ6IDA7XG4gICB3aWR0aDogMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuICB9XG59XG5cbkBtaXhpbiBsaXN0LWVsZW1lbnQoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1sZy00KTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltZy9hcnJvdy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy0yKTtcbiAgICB0b3A6IDAuMWVtO1xuICB9XG5cbiAgJGVsZW1lbnRzOiAxMDtcbiAgQGZvciAkaSBmcm9tIDAgdG8gJGVsZW1lbnRzIHtcbiAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShyYW5kb20oMTgpIC0gOSArIGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGhvbWUtdGl0bGUoKXtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctNCk7XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy01KTtcbiAgfVxuXG4gIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctNik7XG4gIH1cbn1cblxuQG1peGluIGhvbWUtdGV4dCgpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sZy0zKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxuXG4gIEBtZWRpYSAjeyRzY3JlZW4teHhsfSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbiIsIi5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmLS1ub1Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIGJyZWFrcG9pbnQgYm94XG4gIC8vICY6YmVmb3JlIHtcbiAgLy8gICBjb250ZW50OiB2YXIoLS1icCwgJ3NtYWxsZXIgdGhhbiB4cycpO1xuICAvLyAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgLy8gICB6LWluZGV4OiA5OTtcbiAgLy8gICBib3R0b206IDFlbTtcbiAgLy8gICByaWdodDogMWVtO1xuICAvLyAgIGNvbG9yOiB2YXIoLS1icC1jb2xvcik7XG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnAtYmctY29sb3IpO1xuICAvLyAgIGJvcmRlcjogYmxhY2sgc29saWQgMnB4O1xuICAvLyAgIHBhZGRpbmc6IC41ZW07XG4gIC8vIH1cbn1cblxuXG5cblxuLy9icmVha3BvaW50IHZhcmlhYmxlc1xuQG1lZGlhICN7JHNjcmVlbi14c30ge1xuICA6cm9vdCB7XG4gICAgLS1icDogJ3NjcmVlbi14cyc7XG4gICAgLS1icC1jb2xvcjogYmxhY2s7XG4gICAgLS1icC1iZy1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuQG1lZGlhICN7JHNjcmVlbi14cy1zbX0gIHtcbiAgOnJvb3Qge1xuICAgIC0tYnA6ICdzY3JlZW4teHMtc20nO1xuICAgIC0tYnAtY29sb3I6IGJsYWNrO1xuICAgIC0tYnAtYmctY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbkBtZWRpYSAjeyRzY3JlZW4tc219ICB7XG4gIDpyb290IHtcbiAgICAtLWJwOiAnc2NyZWVuLXNtJztcbiAgICAtLWJwLWNvbG9yOiBibGFjaztcbiAgICAtLWJwLWJnLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgI3skc2NyZWVuLXNtLW1kfSAge1xuICA6cm9vdCB7XG4gICAgLS1icDogJ3NjcmVlbi1zbS1tZCc7XG4gICAgLS1icC1jb2xvcjogYmxhY2s7XG4gICAgLS1icC1iZy1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICA6cm9vdCB7XG4gICAgLS1icDogJ3NjcmVlbi1tZCc7XG4gICAgLS1icC1jb2xvcjogd2hpdGU7XG4gICAgLS1icC1iZy1jb2xvcjogYmxhY2s7XG4gIH1cbn1cbkBtZWRpYSAjeyRzY3JlZW4tbWQtbGd9ICB7XG4gIDpyb290IHtcbiAgICAtLWJwOiAnc2NyZWVuLW1kLWxnJztcbiAgICAtLWJwLWNvbG9yOiBibGFjaztcbiAgICAtLWJwLWJnLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgI3skc2NyZWVuLWxnfSB7XG4gIDpyb290IHtcbiAgICAtLWJwOiAnc2NyZWVuLWxnJztcbiAgICAtLWJwLWNvbG9yOiB3aGl0ZTtcbiAgICAtLWJwLWJnLWNvbG9yOiBibGFjaztcbiAgfVxufVxuXG5AbWVkaWEgI3skc2NyZWVuLWxnLXhsfSB7XG4gIDpyb290IHtcbiAgICAtLWJwOiAnc2NyZWVuLWxnJztcbiAgICAtLWJwLWNvbG9yOiB3aGl0ZTtcbiAgICAtLWJwLWJnLWNvbG9yOiBibGFjaztcbiAgfVxufVxuXG5AbWVkaWEgI3skc2NyZWVuLXhsfSB7XG4gIDpyb290IHtcbiAgICAtLWJwOiAnc2NyZWVuLXhsJztcbiAgICAtLWJwLWNvbG9yOiBibGFjaztcbiAgICAtLWJwLWJnLWNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgI3skc2NyZWVuLXhsLXh4bH0ge1xuICA6cm9vdCB7XG4gICAgLS1icDogJ3NjcmVlbi14bCc7XG4gICAgLS1icC1jb2xvcjogYmxhY2s7XG4gICAgLS1icC1iZy1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuXG5AbWVkaWEgI3skc2NyZWVuLXh4bH0ge1xuICA6cm9vdCB7XG4gICAgLS1icDogJ3NjcmVlbi14eGwnO1xuICAgIC0tYnAtY29sb3I6IHdoaXRlO1xuICAgIC0tYnAtYmctY29sb3I6IGJsYWNrO1xuICB9XG59XG5AbWVkaWEgI3skc2NyZWVuLXh4eGx9IHtcbiAgOnJvb3Qge1xuICAgIC0tYnA6ICdzY3JlZW4teHhsJztcbiAgICAtLWJwLWNvbG9yOiB3aGl0ZTtcbiAgICAtLWJwLWJnLWNvbG9yOiBibGFjaztcbiAgfVxufVxuIiwiKiB7XG5cdC8vIC8qIE5vbiBzdGFuZGFyZCBmb3IgV2ViS2l0ICovXG4gXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gXHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gXHQtbW96LWh5cGhlbnM6IGF1dG87XG4gXHRoeXBoZW5zOiBhdXRvO1xufVxuXG5cblxuYm9keSB7XG4gIC8vIDUwMCBhbmQgNzAwIGluc3RhbGxlZFxuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmgxLCBoMiwgaDMsIGg0IHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20tMik7XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20tMSk7XG4gIH1cbn1cblxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy00KTtcblxuICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuICB9XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy03KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTEpO1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuXG4gIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gIH1cblxuICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLWxnLTQpO1xuICB9XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLWxnLTEpO1xufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWJhc2UpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xufVxuXG5iciB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbS0xKTtcbn1cblxubGkge1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG59XG5cbnN0cm9uZyB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1iYXNlKTtcbn1cblxuYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiIsIi8vZm9ybSBmaWVsZHMgb25seSBhdmFpbGFiZSBmb3IgZGVtb3ZveCBhbmQgbmV3c2xldHRlciBhbmQgbm90IGZvciBkb25hdGlvbiBmb3JtOiBcbi5kZW1vdm94V3JhcHBlcixcbi5uZXdzbGV0dGVyX19mb3JtIHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXXtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy0zKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctc20tNikgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTEpIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggdmFyKC0tYmxhY2spICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWJsYWNrKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pICFpbXBvcnRhbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCB2YXIoLS1iZWlnZSkgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICB0ZXh0YXJlYSxcbiAgc2VsZWN0IHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggdmFyKC0tYmxhY2spICFpbXBvcnRhbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCB2YXIoLS1iZWlnZSkgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWxldHRlci1zcGFjaW5nLWJhc2UpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20tNik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAzcHggdmFyKC0tYmxhY2spO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1yZXNldDtcbiAgfVxuXG5cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMDtcblxuICAgICsgbGFiZWwge1xuICAgIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuXG4gIFx0XHQvLyBTcXVhcmVcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweCB2YXIoLS1ibGFjayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctYmFzZSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiBjYWxjKCh2YXIoLS1zcGFjaW5nLWJhc2UpIC0gdmFyKC0tc3BhY2luZy1zbS0xKSkvIC0xKTtcbiAgXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcbiAgXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbS0xKTtcbiAgICAgIH1cblxuICBcdFx0Ly8gQ2hlY2tcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICBcdFx0XHRkaXNwbGF5OmJsb2NrO1xuICBcdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zcGFjaW5nLXNtLTYpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctc20tNCk7XG4gICAgICAgIGxlZnQ6IHZhcigtLXNwYWNpbmctc20tNik7XG4gIFx0ICAgIGJvcmRlcjogc29saWQgdmFyKC0tYmxhY2spO1xuICBcdCAgICBib3JkZXItd2lkdGg6IDAgM3B4IDNweCAwO1xuICBcdFx0XHR0b3A6IDFweDtcbiAgXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMTAwbXM7XG5cbiAgICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgIFx0XHR9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVtb3ZveCBhbmQgbWFpbGNoaW1wXG4gIC8vIHNlYXJjaCBpbiBkZW1vdm94IGNhbnRvbiBmaWVsZFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuICB9XG5cbn1cblxuXG5cbi8vTWFpbGNoaW1wICYgRGVtb3ZveCBFcnJvciBtZXNzYWdlXG4jbWNfZW1iZWRfc2lnbnVwIGRpdi5tY2VfaW5saW5lX2Vycm9yLFxuLmRlbW92b3ggdWwucGFyc2xleS1lcnJvcnMtbGlzdCBsaSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtLTUpIHZhcigtLXNwYWNpbmctc20tMSkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1iYXNlKTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lcnJvcikgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vL0RlbW92b3ggU3R5bGluZ1xuXG4vL2NoZWNrYm94XG4uZGVtb3ZveCAuZm9ybS1jaGVjayB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLy8gc3VibWl0IGJ1dHRvblxuI2RlbW92b3gtZ3JwLXN1Ym1pdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIGRhdGVwaWNrZXJcbi51aS1kYXRlcGlja2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpO1xuICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAvLyBtb250aFxuICB0YWJsZSB0ciB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgfVxuXG4gIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbS00KTtcbiAgfVxuXG4gIC51aS1kYXRlcGlja2VyLW5leHQsXG4gIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgIHRvcDogMTVweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLWRhdGVwaWNrZXItbW9udGgsXG4gIC51aS1kYXRlcGlja2VyLXllYXIge1xuICAgYm9yZGVyOiBub25lO1xuICAgfVxuICAudWktZGF0ZXBpY2tlci1tb250aCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtLTYpO1xuICB9XG5cbiAgdGFibGUgdHIgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzZWxlY3Rcbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy0zKSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgNHB4IHZhcigtLWJsYWNrKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLWxnLTMpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLWxnLTMpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICAgICAgY29sb3I6IHZhcigtLWJsYWNrKSAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMykgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ibGFjaykgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKSAgIWltcG9ydGFudDs7XG4gIH1cblxuICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb257XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuXG4gICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJlaWdlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgfVxuXG4gIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmxhY2spICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpICFpbXBvcnRhbnQ7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXB1cnBsZSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2RlbW92b3gtcGRmICNkZW1vdm94LWJ1dHRvbnMge1xuICBidXR0b246bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWJhc2UpO1xuICB9XG59XG5cbiNkZW1vdm94LWJ1dHRvbnMgLnBkZi1kb3dubG9hZCB7XG4gIEBpbmNsdWRlIGljb24tYnV0dG9uKHVybCguLi8uLi9pbWcvZG93bmxvYWQuc3ZnKSk7XG59XG5cbiNkZW1vdm94LWJ1dHRvbnMgLnBkZi1wcmludCB7XG4gIEBpbmNsdWRlIGljb24tYnV0dG9uKHVybCguLi8uLi9pbWcvcHJpbnQuc3ZnKSk7XG59XG4iLCIuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHgsMXB4LDFweCwxcHgpO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm90Z3MtZGV2ZWxvcG1lbnQtc2l0ZS1mcm9udC1lbmQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIucG9zdCAge1xuXG4gIC8vIHNob3VsZCBhcHByb3ggYWxpZ24gd2l0aCBsYXlvdXQgaW4gdGhlbWUuanNvbiAtPiBodHRwczovL21ha2Uud29yZHByZXNzLm9yZy9jb3JlLzIwMjEvMDYvMjkvb24tbGF5b3V0LWFuZC1jb250ZW50LXdpZHRoLWluLXdvcmRwcmVzcy01LTgvXG4gICZfX2NvbnRlbnQge1xuICAgID4gKiB7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICA+IC5hbGlnbndpZGUge1xuICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgfVxuXG4gICAgPiAuYWxpZ25mdWxsIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICA+IC5hbGlnbmxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctbWQpO1xuICAgIH1cblxuICAgID4gLmFsaWducmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLW1kKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlICB7XG5cbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0td2lkZS1zY3JlZW4tcGFkZGluZyk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXdpZGUtc2NyZWVuLXBhZGRpbmcpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS13aWRlLXNjcmVlbi1wYWRkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi14eGx9IHtcbiAgICAgIEBpbmNsdWRlIHNpdGUtY29udGFpbmVyKCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sZy0yKTtcbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuXG4gICAgQGluY2x1ZGUgc2l0ZS1jb250YWluZXIoKTtcblxuICAgIC8vIG1ha2UgdGhlbSBhbGwgYSBiaXQgbmFycm93ZXIgb24gYmlnIHNjcmVlblxuICAgID4gKiB7XG4gICAgICBAbWVkaWEgI3skc2NyZWVuLW1kLWxnfSB7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skc2NyZWVuLXhsfSB7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGctNCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sZy0zKTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCB2YXIoLS1ibGFjayk7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS1ob3Zlci10cmFuc2l0aW9uKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHVycGxlKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgM3B4IHZhcigtLXB1cnBsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gbGFzdCBjaGlsZCBoYXMgYSBtYXJnaW4gYm90dG9tIGluIGNhc2UgbGFzdCBjaGlsZCBpcyBub3QgcXVvdGVcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICY6bm90KC5xdW90ZSkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlU3VwcG9ydGVyIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXdpZGUtc2NyZWVuLXBhZGRpbmcpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0td2lkZS1zY3JlZW4tcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLy9mdWxsd2lkdGg6XG4gICAgLnF1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaXMgbmVlZGVkIG90aGVyd2lzZSBmb290ZXIgYXBwZWFycyBhYm92ZSBoZWFkZXIgb24gaW9zXG4uaGVhZGVyTWFpbldyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuICAvKiBwdXQgb24gdG9wICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbn1cbiIsIi5zaXRlTWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUpO1xuXG4gIC5wYWdlX19ub3RIb21lICYge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAoMiAqIHZhcigtLXdpZGUtc2NyZWVuLXBhZGRpbmcpICsgNDVweCkpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICgyICogdmFyKC0td2lkZS1zY3JlZW4tcGFkZGluZykgKyA1OHB4KSk7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNjcmVlbi14bH0ge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICgyICogdmFyKC0td2lkZS1zY3JlZW4tcGFkZGluZykgKyA2MHB4KSk7XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZUZvb3RlciB7XG4gIEBpbmNsdWRlIHNpdGUtY29udGFpbmVyO1xuICBAaW5jbHVkZSBwYWRkaW5nLXZlcnRpY2FsO1xuXG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwidGl0bGVcIlxuICAgIFwiZmlyc3RDb2x1bW5cIlxuICAgIFwic2Vjb25kQ29sdW1uXCJcbiAgICBcInNvY2lhbFwiXG4gICAgXCJib3R0b21cIjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiA0dnc7XG4gIGdyaWQtcm93LWdhcDogNHZ3O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcblxuICBAbWVkaWEgI3skc2NyZWVuLXhzLXNtfSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJ0aXRsZSBmaXJzdENvbHVtblwiXG4gICAgICBcIi4gICAgIHNlY29uZENvbHVtblwiXG4gICAgICBcIi4gICAgIHNvY2lhbFwiXG4gICAgICBcImJvdHRvbSBib3R0b21cIjtcbiAgfVxuXG4gIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSBhdXRvO1xuICB9XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1tZC1sZ30ge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcInRpdGxlIGZpcnN0Q29sdW1uIHNlY29uZENvbHVtbiBzb2NpYWxcIlxuICAgICAgXCJib3R0b20gYm90dG9tIGJvdHRvbSBib3R0b21cIjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMS41ZnIgMS41ZnIgMWZyO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10dXJxdW9pcyk7XG4gICAgfVxuICB9XG5cbiAgJl9fc2l0ZU5hbWUge1xuICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogdmFyKC0tdHVycXVvaXMpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy0yKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy0zKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLXhsfSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctNCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlyc3RDb2x1bW4ge1xuICAgIGdyaWQtYXJlYTogZmlyc3RDb2x1bW47XG4gIH1cblxuICAmX19zZWNvbmRDb2x1bW4ge1xuICAgIGdyaWQtYXJlYTogc2Vjb25kQ29sdW1uO1xuICB9XG5cbiAgJl9fc29jaWFsTWVkaWEge1xuICAgIGdyaWQtYXJlYTogc29jaWFsO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXBhcmFncmFwaCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tYmVpZ2UpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1zbS0xKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtLTYpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuXG4gICAgcDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlU29jaWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtLTIpO1xuICB9XG5cbiAgJl9fc3BMb2dvIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIGdyaWQtYXJlYTogYm90dG9tO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICBib3JkZXItdG9wOiBzb2xpZCA0cHggdmFyKC0tYmVpZ2UpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctbGctMSk7XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLXhzLXNtfSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2NyZWRpdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLXNtLTMpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sZXR0ZXItc3BhY2luZy1zbSk7XG4gIH1cbn1cbiIsIi5zaXRlSGVhZGVyIHtcbiAgLy9mb3IgcmV2ZWFsaW5nIGZvb3RlclxuICB6LWluZGV4OiA0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblxuICAmX19ub3RIb21lIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IGNhbGMobWluKDE3MHB4LCB2YXIoLS13aWRlLXNjcmVlbi1wYWRkaW5nKSkpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS13aWRlLXNjcmVlbi1wYWRkaW5nKSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBjYWxjKHZhcigtLXdpZGUtc2NyZWVuLXBhZGRpbmcgLyAtMSk7XG4gICAgICByaWdodDogMDtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDAgMCwgMCAxMDAlKTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA2MCUsIDAlIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHVycGxlKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDAgMCwgMCAxMDAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgfVxuXG4gICZfX2hvbWUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwidGl0bGUgbWVudVwiXG4gICAgICBcImNsYWltIGNsYWltXCI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoYXV0bywgNDV2aCkgbWlubWF4KGF1dG8sIDM1dmgpO1xuICAgIHBhZGRpbmc6IGNhbGMobWluKDE3MHB4LCB2YXIoLS13aWRlLXNjcmVlbi1wYWRkaW5nKSkpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2xhbXAoNTAlLCA2MCUsIDgwJSkgYXV0bztcbiAgICBncmlkLWNvbHVtbi1nYXA6IDR2dztcbiAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLXhzLXNtfSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnZ3O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoYXV0bywgNDB2aCkgbWlubWF4KGF1dG8sIDQwdmgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KGF1dG8sIDQwdmgpIG1pbm1heChhdXRvLCAzNXZoKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XG4gICAgICBtaW4taGVpZ2h0OiA4NXZoO1xuICAgIH1cbiAgfVxuXG4gICZfX2hvbWVEZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tc3BhY2luZy1sZy0yKSwgOHZ3LCB2YXIoLS1zcGFjaW5nLWxnLTUpKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWQtbGd9IHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tc3BhY2luZy1sZy01KSwgNXZ3LCAxNDBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9faG9tZUNsYWltV3JhcHBlciB7XG4gICAgZ3JpZC1hcmVhOiBjbGFpbTtcbiAgICAvL2ZvciBwdXJwbGUgYmFja2dyb3VuZFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3RvIHB1c2ggY29udGVudCB0byBib3R0b21cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC8vcHVycGxlIHRyaWFuZ2xlXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IC01dnc7XG4gICAgICAgIGxlZnQ6IC01dnc7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMjtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDZ2dyk7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgNjAlLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuXG4gICAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbWQtbGd9IHtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDcwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICAgICAgICBib3R0b206IC0ydnc7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAzdncpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faG9tZUNsYWltIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wdXJwbGUpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAtNXZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXZ3O1xuICAgIG1hcmdpbi1yaWdodDogLTV2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogM3Z3O1xuICAgIHBhZGRpbmctdG9wOiAzdnc7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tc3BhY2luZy1sZy0xKSwgNXZ3LCB2YXIoLS1zcGFjaW5nLWxnLTQpKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4teHMtc219IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0ydnc7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnZ3O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kLWxnfSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKHZhcigtLXNwYWNpbmctbGctNCksIDR2dywgdmFyKC0tc3BhY2luZy1sZy02KSk7XG4gICAgfVxuXG4gICAgJi0tYmlnIHtcbiAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCh2YXIoLS1zcGFjaW5nLWxnLTQpLCA4dncsIHZhcigtLXNwYWNpbmctbGctNSkpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skc2NyZWVuLW1kLWxnfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAodmFyKC0tc3BhY2luZy1sZy01KSwgNXZ3LCAgdmFyKC0tc3BhY2luZy1sZy04KSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGluIG9yZGVyIHRvIG5vdCBjdXQgb2ZmIGZvbnQgYmVoaW5kIHB1cnBsZSBiYWNrZ3JvdW5kIChpbiBmcik6XG4gICAgICAmOmxhbmcoZnIpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faG9tZUNsYWltVGV4dCB7XG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHVycGxlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1zbS0zKTtcbiAgICB9XG4gIH1cblxuICAmX19ob21lQ2xhaW1TcGFuIHtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc20pO1xuICAgIG1hcmdpbi1ib3R0b206IC00dnc7XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICAmX19ob21lSW1nV3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm90dG9tOiA2dnc7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNsYW1wKDI1MHB4LCA5OHZ3LCAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjbGFtcCg2MHZoLCA3MHZoLCBjYWxjKDEwMCUgLSA1dncgLSA3MHB4KSk7XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLXNtfSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogY2xhbXAoNjAwcHgsIDQwJSwgNzV2dyk7XG4gICAgICBoZWlnaHQ6IGNsYW1wKDYwdmgsIDcwdmgsIGNhbGMoMTAwJSAtIDV2dyAtIDcwcHgpKTtcbiAgICB9XG4gIH1cblxuICAmX19ob21lSW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiBjbGFtcCgtMjBweCwgLTExdncsIC0xMHB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBvYmplY3QtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgLnNpdGVIZWFkZXJfX2hvbWUgJiB7XG4gICAgICBncmlkLWFyZWE6IG1lbnU7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5uYXYge1xuXG4gICZfX2xpc3RXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgLy9pbnNldCA9IHRvcCBib3R0b20gbGVmdCByaWdodDpcbiAgICBpbnNldDogMS41dnc7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pO1xuXG4gICAgJi5vcGVuIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmxhY2spO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFuZ3VhZ2VMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cblxuICAmX19tZW51U3BhbixcbiAgJl9fbWVudUxpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbS0zKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1ob3Zlci10cmFuc2l0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20tNSk7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fbWVudVNwYW4ge1xuICAgIGNvbG9yOiB2YXIoLS1iZWlnZSk7XG4gIH1cblxuICAmX19tZW51TGluayB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWJlaWdlKTtcbiAgICAgIH1cbiAgfVxuXG4gICZfX2xhbmd1YWdlTGluayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbS00KTtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWJlaWdlKTtcbiAgICB9XG4gIH1cblxuICAmX19idXJnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2J1cmdlckJ1dHRvbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1zbS0xKTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS1ob3Zlci10cmFuc2l0aW9uKTtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIHdpZHRoOiA2OHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzY3JlZW4teGx9IHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHVycGxlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXB1cnBsZSk7XG4gICAgfVxuICB9XG5cbiAgJl9fYnVyZ2VyRGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0xMTAlKTtcbiAgICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1zbS0yKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctc20pO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAucGFnZV9fbm90SG9tZSAmIHtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTExNSUpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICAgIC5wYWdlX19ub3RIb21lICYge1xuICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbiAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19idXJnZXJMaW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3BhY2luZy1zbS0xKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXNwYWNpbmctc20tMSkpO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZSk7XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMyksXG4gICAgJjpudGgtY2hpbGQoNCksIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3R0b206IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgfVxuXG5cbiAgICAub3BlbiAmIHtcbiAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubmV3c2xldHRlciB7XG4gIEBpbmNsdWRlIHNpdGUtY29udGFpbmVyO1xuICBAaW5jbHVkZSBwYWRkaW5nLXZlcnRpY2FsO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10dXJxdW9pcyk7XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoYXV0bywgdmFyKC0tc3BhY2luZy1sZy0xMCkpIG1pbm1heCg0MDBweCwgNTUlKSBtaW5tYXgoYXV0bywgdmFyKC0tc3BhY2luZy1sZy0xMCkpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcInRpdGxlIHRpdGxlIHRpdGxlXCJcbiAgICAgIFwidGV4dCB0ZXh0IHRleHRcIlxuICAgICAgXCJhcnJvdyBmb3JtIC5cIlxuICAgICAgXCJhcnJvdyBmb3JtIC5cIjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctbGctNSk7XG4gIH1cblxuICBAbWVkaWEgI3skc2NyZWVuLW1kLWxnfSB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLWxnLTYpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGhvbWUtdGl0bGU7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBncmlkLWFyZWE6IGFycm93O1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICAgICAgLy9mbGlwIGFuZCByb3RhdGU6XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHJvdGF0ZSgtMjJkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICBAaW5jbHVkZSBob21lLXRleHQ7XG4gIH1cblxuICAmX19mb3JtV3JhcHBlciB7XG4gICAgZ3JpZC1hcmVhOiBmb3JtO1xuICB9XG5cbiAgJl9fZmllbGRzV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJl9fZmllbGRXcmFwcGVyIHtcbiAgICB3aWR0aDogNDglO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX2VtYWlsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2xhc3RGaWVsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAmX19zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctYmFzZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5hbmltYXRlZEFycm93IHtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJl9fZHJhdyB7XG4gICAgc3Ryb2tlLXdpZHRoOiA1O1xuICAgIHN0cm9rZTogdmFyKC0tcHVycGxlKTtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDQwMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogNDAwO1xuICB9XG5cbiAgJi5hbmltYXRlIHtcbiAgICAuYW5pbWF0ZWRBcnJvd19fZHJhdyB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBkcmF3O1xuICAgICAgJi50YWlsLTEge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC42cztcbiAgICAgIH1cbiAgICAgICYudGFpbC0yIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuOHM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgZHJhdyB7XG4gdG8ge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG4iLCIuc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAmX19pdGVtIHtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLXNtLTEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLWxnLTEpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgLmZiIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogdmFyKC0tZmFjZWJvb2spO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbnN0YSB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6IHZhcigtLWluc3RhZ3JhbSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnR3aXR0ZXIge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS10d2l0dGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAud2hhdHNhcHAge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS13aGF0c2FwcCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwLS1yZWQge1xuICAgICAgICBmaWxsOiB2YXIoLS1iZWlnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19zdmdDb2xvciB7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0taG92ZXItdHJhbnNpdGlvbik7XG4gICAgZmlsbDogdmFyKC0td2hpdGUpO1xuICB9XG5cbiAgLnNwLS1yZWQge1xuICAgIHRyYW5zaXRpb246IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pO1xuICB9XG59XG4iLCIvLyBub3QgZGVtb3ZveCBhcyB0aGUgZm9ybSBoYXMgYWxyZWFkeSB0aGUgY2xhc3MgZGVtb3ZveFxuLmRlbW92b3hXcmFwcGVyIHtcbiAgQGluY2x1ZGUgc2l0ZS1jb250YWluZXI7XG4gIEBpbmNsdWRlIHBhZGRpbmctdmVydGljYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXR1cnF1b2lzKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJ0aXRsZVwiXG4gICAgXCJ0ZXh0XCJcbiAgICBcInByb2dyZXNzXCJcbiAgICBcImZvcm1cIjtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLXNtLTIpO1xuXG4gIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJ0aXRsZSB0aXRsZVwiXG4gICAgICBcInRleHQgdGV4dFwiXG4gICAgICBcImZvcm0gcHJvZ3Jlc3NcIlxuICAgICAgXCJmb3JtIHByb2dyZXNzXCI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLWxnLTYpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDQwMHB4LCA2NSUpIG1pbm1heCgyMDBweCwgMzUlKTtcbiAgfVxuXG4gIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg0MDBweCwgNTUlKSBtaW5tYXgoMjUwcHgsIDMwJSk7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nLWxnLTgpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGhvbWUtdGl0bGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgaG9tZS10ZXh0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgfVxuXG4gICZfX2Zvcm1XcmFwcGVyIHtcbiAgICBncmlkLWFyZWE6IGZvcm07XG4gIH1cblxuICAmX19wcm9ncmVzcyB7XG4gICAgZ3JpZC1hcmVhOiBwcm9ncmVzcztcbiAgfVxufVxuIiwiLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICZfX2JhcldyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmVpZ2UpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctNSk7XG4gICAgICBtaW4td2lkdGg6IHZhcigtLXNwYWNpbmctbGctNSk7XG4gICAgfVxuICB9XG5cbiAgJl9fYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsIHZhcigtLXB1cnBsZSkgNjAlLCB2YXIoLS1ibGFjaykgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiAxLjZzO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tcHVycGxlKSA2MCUsIHZhcigtLWJsYWNrKSAxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLXNtLTMpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dCAxLjhzO1xuXG4gICAgICAudmlzaWJsZSAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQG1lZGlhICN7JHNjcmVlbi1tZH0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNzBkZWcpIHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgdmFyKC0tc3BhY2luZy1zbS01KSkpIHRyYW5zbGF0ZVkoMzUlKTtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy0yKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDIuNHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblxuICAgICAgICAudmlzaWJsZSAmIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZW50cmllcyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tbWR9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJlaWdlKTtcbiAgICAgIHBhZGRpbmc6IDJweCB2YXIoLS1zcGFjaW5nLXNtLTUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG4iLCIucmVhc29ucyB7XG4gIEBpbmNsdWRlIHNpdGUtY29udGFpbmVyO1xuICBAaW5jbHVkZSBwYWRkaW5nLXZlcnRpY2FsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZWlnZSk7XG5cbiAgJl9fbGlzdEl0ZW0ge1xuICAgIEBpbmNsdWRlIGxpc3QtZWxlbWVudCgpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctc20tMik7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbS1tZH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kLWxnfSB7XG4gICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5xdW90ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAmX19pbWFnZVdyYXBwZXIge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIG1heC1oZWlnaHQ6bm9uZTtcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgfVxuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1sZy0zKSA0dnc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHVycGxlKTtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgd2lkdGg6IDQ1JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLWxnfSB7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWxnLTYpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTglKTtcbiAgICAgIGhlaWdodDogMjAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgOTglLCAxMDAlIDAsIDEwMCUgMTAwJSwgMCUgMTAwJSk7XG5cbiAgICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oOTglIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05OCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy0yKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc20pO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1sZ30ge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zcGFjaW5nLWxnLTQpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgLTUwJSwgLTFweCk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltZy9xdW90ZS5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB3aWR0aDogdmFyKC0tc3BhY2luZy1sZy00KTtcbiAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy00KTtcblxuICAgICAgQG1lZGlhICN7JHNjcmVlbi1zbX0ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIC01MCUsIC0xcHgpO1xuICAgICAgICB3aWR0aDogdmFyKC0tc3BhY2luZy1sZy01KTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLWxnLTUpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skc2NyZWVuLW1kfSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zcGFjaW5nLWxnLTYpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctNik7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRzY3JlZW4tbGd9IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctNyk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy03KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uYW1lIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctc20tMSk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbS0yKTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbGV0dGVyLXNwYWNpbmctYmFzZSk7XG4gICAgY29sb3I6IHZhcigtLWJlaWdlKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBtZWRpYSAjeyRzY3JlZW4tc219IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWJhc2UpO1xuICAgIH1cbiAgfVxufVxuIiwiLndwLWJsb2NrLWxpc3Qge1xuICBsaSB7XG4gICAgQGluY2x1ZGUgbGlzdC1lbGVtZW50KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbS0yKTtcbiAgfVxufVxuIiwiLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYmxhY2spO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiIsIi53cC1ibG9jay1wYi1hY2NvcmRpb24taXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJlaWdlKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2luZy1sZy0xKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1iYXNlKTtcblxuICAuYy1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLXNwYWNpbmctbGctMSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWcvcGx1cy5zdmcpO1xuICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMik7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgLmMtYWNjb3JkaW9uX190aXRsZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltZy9taW51cy5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1iYXNlKTtcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIud3AtYmxvY2stYnV0dG9uIHtcbiAgJl9fbGluayB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gIH1cbn1cbiIsIi53cC1ibG9jay1maWxlIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1zbS0xKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1zbS0xKTtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIEBpbmNsdWRlIGljb24tYnV0dG9uKHVybCguLi8uLi9pbWcvZG93bmxvYWQuc3ZnKSk7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIi5hcmNoaXZlU3VwcG9ydGVyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sZy01KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1sZy01KTtcblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLWxnLTIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy1sZy0yKTtcbiAgICAvL2ZvciBmaXJlZm94IG5vdCB0byBleHBhbmQgZ3JpZCBlbGVtZW50czpcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjaW5nLWJhc2UpO1xuXG4gICAgQG1lZGlhICN7JHNjcmVlbi1tZC1sZ30ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNpbmctbGctMik7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JHNjcmVlbi14bH0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgLmFyY2hpdmVTdXBwb3J0ZXJfX3RleHRXcmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgLmFyY2hpdmVTdXBwb3J0ZXJfX3RleHRXcmFwcGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDY1JSwgMTAwJSAwLCAxMDAlIDEwMCUsIDAlIDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW1nV3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEsMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUtdHJhbnNwYXJlbnQpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9faW1nIHtcbiAgICBmaWx0ZXI6IHNhdHVyYXRlKDApIGJyaWdodG5lc3MoMS4yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX3RleHRXcmFwcGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLWJhc2UpO1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXB1cnBsZSk7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcblxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogdmFyKC0tc3BhY2luZy1sZy0zKTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wdXJwbGUpO1xuICAgICAgdG9wOiBjYWxjKCh2YXIoLS1zcGFjaW5nLWxnLTMpIC8gLTEpICsgMnB4KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fcXVvdGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1sZy0xKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc20pO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMCUsIDAsIC0xcHgpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvcXVvdGUuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgd2lkdGg6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gICAgICBoZWlnaHQ6IHZhcigtLXNwYWNpbmctbGctMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3BhY2luZy1zbS0yKTtcbiAgICBjb2xvcjogdmFyKC0tYmVpZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSDs7R0FFRztBQUVILGFBQWE7RUFDWCxLQUFLLEVBQUUsWUFBWTs7QUFJckI7O0dBRUc7QUFFSCxBQUFBLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU07QUFDN0MsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHO0FBQzFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUk7QUFDMUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJO0FBQ3ZDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUc7QUFDeEMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTTtBQUNmLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUN0QixRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNO0FBQzdCLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLO0FBQ3RDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO0FBQzFDLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTztBQUN6QyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO0VBQzdCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVixNQUFN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O0FBc0JMLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFQUNyQixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFQUNyQixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxlQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUN2QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFQUN2QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxlQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFQUNyQixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUVILE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztFQUN4QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxlQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztFQUN4QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtFQUNyQixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztFQUN4QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUdILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxZQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUlILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxhQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQUVILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUN0QixBQUFBLEtBQUssQ0FBQztJQUNKLElBQUksQ0FBQSxhQUFDO0lBQ0wsVUFBVSxDQUFBLE1BQUM7SUFDWCxhQUFhLENBQUEsTUFBQyxHQUNmOztBQ3JJSCxBQUFBLENBQUMsQ0FBQztFQUVBLFVBQVUsRUFBRSxVQUFVO0VBRXRCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBSUQsQUFBQSxJQUFJLENBQUM7RUFFSCxXQUFXLEVBQUUsdUJBQXVCO0VBQ3BDLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ2IsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQyxXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxtQkFBbUIsR0FLbkM7RUFIQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUFOM0IsQUFBQSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7TUFPWCxhQUFhLEVBQUUsbUJBQW1CLEdBRXJDOztBQUdELEFBQUEsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLG1CQUFtQixHQVUvQjtFQVJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJQUgzQixBQUFBLEVBQUUsQ0FBQztNQUlDLFNBQVMsRUFBRSxtQkFBbUIsR0FPakM7RUFKQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7SUFQekIsQUFBQSxFQUFFLENBQUM7TUFRQyxTQUFTLEVBQUUsbUJBQW1CO01BQzlCLGFBQWEsRUFBRSxtQkFBbUIsR0FFckM7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsbUJBQW1CLEdBUy9CO0VBUEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lBSDNCLEFBQUEsRUFBRSxDQUFDO01BSUMsU0FBUyxFQUFFLG1CQUFtQixHQU1qQztFQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtJQVB6QixBQUFBLEVBQUUsQ0FBQztNQVFDLFNBQVMsRUFBRSxtQkFBbUIsR0FFakM7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFTLEVBQUUsbUJBQW1CLEdBQy9COztBQUVELEFBQUEsQ0FBQyxDQUFDO0VBQ0EsV0FBVyxFQUFFLHVCQUF1QjtFQUNwQyxhQUFhLEVBQUUsbUJBQW1CLEdBQ25DOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLHVCQUF1QjtFQUNwQyxhQUFhLEVBQUUsbUJBQW1CLEdBQ25DOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0QsV0FBVyxFQUFFLHVCQUF1QixHQUNyQzs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUNMLFdBQVcsRUFBRSx1QkFBdUIsR0FDckM7O0FBRUQsQUFBQSxDQUFDLENBQUM7RUFDRCxlQUFlLEVBQUUsSUFBSSxHQUNyQjs7QUM3RUQsQUFFRSxlQUZhLENBRWIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWDtBQUZSLGVBQWUsQ0FHYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0FBSFIsZUFBZSxDQUliLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7QUFIUixpQkFBaUIsQ0FDZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYO0FBRFIsaUJBQWlCLENBRWYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtBQUZSLGlCQUFpQixDQUdmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYTtFQUNqQixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtFQUN0QyxXQUFXLEVBQUUsWUFBWTtFQUN6QixZQUFZLEVBQUUsWUFBWTtFQUMxQixjQUFjLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtFQUM5QyxhQUFhLEVBQUUsbUJBQW1CLENBQUEsVUFBVTtFQUM1QyxNQUFNLEVBQUUsZUFBZTtFQUN2QixhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVTtFQUNoRCxhQUFhLEVBQUUsWUFBWTtFQUMzQixnQkFBZ0IsRUFBRSxzQkFBc0I7RUFDeEMsS0FBSyxFQUFFLFlBQVksQ0FBQyxVQUFVO0VBQzlCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLEdBTy9DO0VBdkJILEFBa0JJLGVBbEJXLENBRWIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWdCSCxNQUFNO0VBbEJYLGVBQWUsQ0FHYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBZUgsTUFBTTtFQWxCWCxlQUFlLENBSWIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWNILE1BQU07RUFqQlgsaUJBQWlCLENBQ2YsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxDQWdCSCxNQUFNO0VBakJYLGlCQUFpQixDQUVmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FlSCxNQUFNO0VBakJYLGlCQUFpQixDQUdmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FjSCxNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsZUFBZTtJQUN4QixhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsVUFBVTtJQUNoRCxVQUFVLEVBQUUsZUFBZSxHQUM1Qjs7QUF0QkwsQUF5QkUsZUF6QmEsQ0F5QmIsUUFBUTtBQXpCVixlQUFlLENBMEJiLE1BQU07QUF6QlIsaUJBQWlCLENBd0JmLFFBQVE7QUF4QlYsaUJBQWlCLENBeUJmLE1BQU0sQ0FBQztFQUNMLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBT2pEO0VBbENILEFBNkJJLGVBN0JXLENBeUJiLFFBQVEsQUFJTCxNQUFNO0VBN0JYLGVBQWUsQ0EwQmIsTUFBTSxBQUdILE1BQU07RUE1QlgsaUJBQWlCLENBd0JmLFFBQVEsQUFJTCxNQUFNO0VBNUJYLGlCQUFpQixDQXlCZixNQUFNLEFBR0gsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLGVBQWU7SUFDeEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVU7SUFDaEQsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBakNMLEFBb0NFLGVBcENhLENBb0NiLEtBQUs7QUFuQ1AsaUJBQWlCLENBbUNmLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLFlBQVk7RUFDbkIsU0FBUyxFQUFFLG1CQUFtQjtFQUM5QixjQUFjLEVBQUUsMEJBQTBCO0VBQzFDLGFBQWEsRUFBRSxtQkFBbUI7RUFDbEMsV0FBVyxFQUFFLG1CQUFtQixHQU1qQztFQWhESCxBQTRDSSxlQTVDVyxDQW9DYixLQUFLLENBUUgsQ0FBQztFQTNDTCxpQkFBaUIsQ0FtQ2YsS0FBSyxDQVFILENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxZQUFZO0lBQ25CLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksR0FDdEM7O0FBL0NMLEFBa0RFLGVBbERhLENBa0RiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUFsRFIsZUFBZSxDQW1EYixNQUFNO0FBbERSLGlCQUFpQixDQWlEZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0FBakRSLGlCQUFpQixDQWtEZixNQUFNLENBQUM7RUpsQlAsT0FBTyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLFVBQVU7RUFDM0QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsZUFBZTtFQUN2QixLQUFLLEVBSmUsWUFBWTtFQUtoQyxjQUFjLEVBQUUsU0FBUztFQUN6QixjQUFjLEVBQUUsMEJBQTBCO0VBQzFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxVQUFVO0VBQzlDLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLGdCQUFnQixFQVRxQyxhQUFhLENBUzlCLFVBQVU7RUFDOUMsTUFBTSxFQUFFLE9BQU87RUFDZixXQUFXLEVBQUUsY0FBYztFQUMzQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVTtFQUM5QyxTQUFTLEVBQUUsYUFBYTtFQUN4QixTQUFTLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtFQWxCekMsVUFBVSxFQUFFLElBQUk7RUFDaEIsTUFBTSxFQUFFLFdBQVcsR0l5QmxCO0VBdERILEFKZ0RFLGVJaERhLENBa0RiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0pGTCxNQUFNLEVJaERULGVBQWUsQ0FrRGIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDSkRMLE1BQU07RUlqRFQsZUFBZSxDQW1EYixNQUFNLEFKSEwsTUFBTTtFSWhEVCxlQUFlLENBbURiLE1BQU0sQUpGTCxNQUFNO0VJaERULGlCQUFpQixDQWlEZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENKRkwsTUFBTTtFSS9DVCxpQkFBaUIsQ0FpRGYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDSkRMLE1BQU07RUloRFQsaUJBQWlCLENBa0RmLE1BQU0sQUpITCxNQUFNO0VJL0NULGlCQUFpQixDQWtEZixNQUFNLEFKRkwsTUFBTSxDQUFDO0lBQ04sU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixnQkFBZ0IsRUFuQjJFLFlBQVksQ0FtQjdELFVBQVU7SUFDcEQsS0FBSyxFQXBCa0gsWUFBWSxDQW9CL0csVUFBVSxHQUMvQjs7QUlyREgsQUEwREUsZUExRGEsQ0EwRGIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtBQTFEUixlQUFlLENBMkRiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWY7QUExRFIsaUJBQWlCLENBeURmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7QUF6RFIsaUJBQWlCLENBMERmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsRUFBaUI7RUFDckIsT0FBTyxFQUFFLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDLEdBaURWO0VBL0dILEFBZ0VJLGVBaEVXLENBMERiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFNRixLQUFLO0VBaEVYLGVBQWUsQ0EyRGIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUtGLEtBQUs7RUEvRFgsaUJBQWlCLENBeURmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFNRixLQUFLO0VBL0RYLGlCQUFpQixDQTBEZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBS0YsS0FBSyxDQUFDO0lBQ1AsT0FBTyxFQUFFLFlBQVk7SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDcEIsWUFBWSxFQUFFLG1CQUFtQjtJQUMvQixNQUFNLEVBQUUsT0FBTztJQUNmLFNBQVMsRUFBRSxtQkFBbUIsR0FxQy9CO0lBMUdMLEFBd0VNLGVBeEVTLENBMERiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFNRixLQUFLLEFBUUosUUFBUTtJQXhFZixlQUFlLENBMkRiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFLRixLQUFLLEFBUUosUUFBUTtJQXZFZixpQkFBaUIsQ0F5RGYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQU1GLEtBQUssQUFRSixRQUFRO0lBdkVmLGlCQUFpQixDQTBEZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLElBS0YsS0FBSyxBQVFKLFFBQVEsQ0FBQztNQUNSLE9BQU8sRUFBRSxFQUFFO01BQ1gsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWTtNQUM5QixnQkFBZ0IsRUFBRSxXQUFXO01BQzdCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxtQkFBbUI7TUFDMUIsTUFBTSxFQUFFLG1CQUFtQjtNQUMzQixJQUFJLEVBQUUsQ0FBQztNQUNQLEdBQUcsRUFBRSxxREFBcUQ7TUFDN0QsYUFBYSxFQUFFLENBQUM7TUFDaEIsYUFBYSxFQUFFLG1CQUFtQixHQUNoQztJQXBGUCxBQXVGTSxlQXZGUyxDQTBEYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLElBTUYsS0FBSyxBQXVCSixPQUFPO0lBdkZkLGVBQWUsQ0EyRGIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUtGLEtBQUssQUF1QkosT0FBTztJQXRGZCxpQkFBaUIsQ0F5RGYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQU1GLEtBQUssQUF1QkosT0FBTztJQXRGZCxpQkFBaUIsQ0EwRGYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixJQUtGLEtBQUssQUF1QkosT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFDLEVBQUU7TUFDVixPQUFPLEVBQUUsQ0FBQztNQUNWLE9BQU8sRUFBRSxDQUFDO01BQ2IsT0FBTyxFQUFDLEtBQUs7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNqQixLQUFLLEVBQUUsbUJBQW1CO01BQzFCLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtNQUMxQixNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVk7TUFDMUIsWUFBWSxFQUFFLFdBQVc7TUFDM0IsR0FBRyxFQUFFLEdBQUc7TUFDUixTQUFTLEVBQUUsYUFBYTtNQUN4QixVQUFVLEVBQUUsU0FBUyxHQUtuQjtNQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtRQXRHL0IsQUF1Rk0sZUF2RlMsQ0EwRGIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixJQU1GLEtBQUssQUF1QkosT0FBTztRQXZGZCxlQUFlLENBMkRiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFLRixLQUFLLEFBdUJKLE9BQU87UUF0RmQsaUJBQWlCLENBeURmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosSUFNRixLQUFLLEFBdUJKLE9BQU87UUF0RmQsaUJBQWlCLENBMERmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsSUFLRixLQUFLLEFBdUJKLE9BQU8sQ0FBQztVQWdCTCxHQUFHLEVBQUUsR0FBRyxHQUVYO0VBekdQLEFBNEdJLGVBNUdXLENBMERiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosQ0FrREgsUUFBUSxHQUFHLEtBQUssQUFBQSxPQUFPO0VBNUc1QixlQUFlLENBMkRiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsQ0FpREgsUUFBUSxHQUFHLEtBQUssQUFBQSxPQUFPO0VBM0c1QixpQkFBaUIsQ0F5RGYsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixDQWtESCxRQUFRLEdBQUcsS0FBSyxBQUFBLE9BQU87RUEzRzVCLGlCQUFpQixDQTBEZixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLENBaURILFFBQVEsR0FBRyxLQUFLLEFBQUEsT0FBTyxDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBOUdMLEFBbUhFLGVBbkhhLENBbUhiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUFsSFIsaUJBQWlCLENBa0hmLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtFQUNuQixPQUFPLEVBQUUsZUFBZTtFQUN4QixTQUFTLEVBQUUsbUJBQW1CLEdBQy9COztBQU9ILEFBQUEsZ0JBQWdCLENBQUMsR0FBRyxBQUFBLGlCQUFpQjtBQUNyQyxRQUFRLENBQUMsRUFBRSxBQUFBLG9CQUFvQixDQUFDLEVBQUUsQ0FBQztFQUNqQyxhQUFhLEVBQUUsdUJBQXVCO0VBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO0VBQzNELFNBQVMsRUFBRSxtQkFBbUI7RUFDOUIsV0FBVyxFQUFFLGNBQWM7RUFDM0IsY0FBYyxFQUFFLDBCQUEwQjtFQUMxQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFVBQVU7RUFDOUIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFVBQVU7RUFDekMsVUFBVSxFQUFFLE1BQU0sR0FDbkI7O0FBS0QsQUFBQSxRQUFRLENBQUMsV0FBVyxDQUFDO0VBQ25CLFlBQVksRUFBRSxDQUFDLEdBQ2hCOztBQUdELEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsYUFBYSxFQUFFLENBQUMsR0FDakI7O0FBR0QsQUFBQSxjQUFjLENBQUM7RUFDYixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLEtBQUssRUFBRSxZQUFZO0VBQ25CLE9BQU8sRUFBRSxtQkFBbUI7RUFDNUIsYUFBYSxFQUFFLENBQUM7RUFDaEIsTUFBTSxFQUFFLGVBQWUsR0F5Q3hCO0VBOUNELEFBUUUsY0FSWSxDQVFaLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ1YsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFQUFFLFlBQVksR0FDcEI7RUFYSCxBQWFFLGNBYlksQ0FhWixxQkFBcUIsQ0FBQztJQUNwQixhQUFhLEVBQUUsbUJBQW1CLEdBQ25DO0VBZkgsQUFpQkUsY0FqQlksQ0FpQlosbUJBQW1CO0VBakJyQixjQUFjLENBa0JaLG1CQUFtQixDQUFDO0lBQ2xCLEdBQUcsRUFBRSxlQUFlLEdBQ3JCO0VBcEJILEFBc0JFLGNBdEJZLENBc0JaLG9CQUFvQjtFQXRCdEIsY0FBYyxDQXVCWixtQkFBbUIsQ0FBQztJQUNuQixNQUFNLEVBQUUsSUFBSSxHQUNYO0VBekJKLEFBMEJFLGNBMUJZLENBMEJaLG9CQUFvQixDQUFDO0lBQ25CLFlBQVksRUFBRSxtQkFBbUIsR0FDbEM7RUE1QkgsQUE4QkUsY0E5QlksQ0E4QlosS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDVixjQUFjLEVBQUUsTUFBTSxHQWN2QjtJQTdDSCxBQWdDSSxjQWhDVSxDQThCWixLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFFUixNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSxhQUFhLEdBSWhDO01BckNMLEFBa0NNLGNBbENRLENBOEJaLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxBQUVSLE1BQU0sQ0FFTCxDQUFDLENBQUM7UUFDQSxLQUFLLEVBQUUsWUFBWSxHQUNwQjtJQXBDUCxBQXVDSSxjQXZDVSxDQThCWixLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQUFTUiwwQkFBMEIsQ0FBQztNQUMxQixnQkFBZ0IsRUFBRSxZQUFZLEdBSS9CO01BNUNMLEFBeUNNLGNBekNRLENBOEJaLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxBQVNSLDBCQUEwQixDQUV6QixDQUFDLENBQUM7UUFDQSxLQUFLLEVBQUUsWUFBWSxHQUNwQjs7QUFNUCxBQUFBLGtCQUFrQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxZQUFZO0VBQ25CLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxVQUFVO0VBQ3RDLEtBQUssRUFBRSxlQUFlLEdBQ3ZCOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFDMUIsU0FBUyxFQUFFLGVBQWU7RUFDMUIsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVU7RUFDaEQsZ0JBQWdCLEVBQUUsc0JBQXNCLEdBcUR6QztFQXhERCxBQUtFLDJCQUx5QixDQUt6QiwwQkFBMEIsQ0FBQztJQUN6QixhQUFhLEVBQUUsWUFBWTtJQUMzQixNQUFNLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtJQUN0QyxNQUFNLEVBQUUsZUFBZTtJQUN2QixnQkFBZ0IsRUFBRSxzQkFBc0IsR0FhekM7SUF0QkgsQUFXSSwyQkFYdUIsQ0FLekIsMEJBQTBCLENBTXhCLHlCQUF5QixDQUFDO01BQ3hCLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLEdBQ3ZDO0lBYkwsQUFjSSwyQkFkdUIsQ0FLekIsMEJBQTBCLENBU3hCLDRCQUE0QixDQUFDO01BQzNCLEtBQUssRUFBRSxZQUFZLENBQUMsVUFBVTtNQUM5QixXQUFXLEVBQUUsbUJBQW1CLENBQUMsVUFBVTtNQUMzQyxZQUFZLEVBQUUsWUFBWSxHQUMzQjtJQWxCTCxBQW1CSSwyQkFuQnVCLENBS3pCLDBCQUEwQixDQWN4Qix5QkFBeUIsQ0FBQyxDQUFDLENBQUM7TUFDMUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQzFFO0VBckJMLEFBd0JFLDJCQXhCeUIsQ0F3QnpCLHFDQUFxQyxDQUFBLEFBQUEsYUFBQyxBQUFBLEVBQWU7SUFDbkQsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLFVBQVU7SUFDMUMsS0FBSyxFQUFFLFlBQVksQ0FBRSxVQUFVLEdBQ2hDO0VBM0JILEFBNkJFLDJCQTdCeUIsQ0E2QnpCLHdCQUF3QixDQUFBO0lBQ3RCLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxVQUFVO0lBQ3pDLFNBQVMsRUFBRSxtQkFBbUIsR0FLL0I7SUFwQ0gsQUFpQ0ksMkJBakN1QixDQTZCekIsd0JBQXdCLENBSXJCLEFBQUEsYUFBQyxDQUFELElBQUMsQUFBQSxFQUFvQjtNQUNwQixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsVUFBVSxHQUMxQztFQW5DTCxBQXNDRSwyQkF0Q3lCLENBc0N6Qix3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FBQztJQUNoRCxhQUFhLEVBQUUsQ0FBQyxHQUVqQjtFQXpDSCxBQTJDRSwyQkEzQ3lCLENBMkN6Qix5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQztJQUMvQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVTtJQUN6QyxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsVUFBVSxHQUsxQztJQWxESCxBQStDSSwyQkEvQ3VCLENBMkN6Qix5QkFBeUIsQ0FBQyxzQkFBc0IsQUFJN0MsTUFBTSxDQUFDO01BQ04sTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FDM0M7RUFqREwsQUFvREUsMkJBcER5QixDQW9EekIsaUJBQWlCLENBQUM7SUFDaEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFVBQVU7SUFDekMsTUFBTSxFQUFFLGVBQWUsR0FDeEI7O0FBR0gsQUFDRSxZQURVLENBQUMsZ0JBQWdCLENBQzNCLE1BQU0sQUFBQSxVQUFXLENBQUEsQ0FBQyxFQUFFO0VBQ2xCLFVBQVUsRUFBRSxtQkFBbUIsR0FDaEM7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7RUo1TzdCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO0VBQzNELEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLGVBQWU7RUFDdkIsS0FBSyxFQUplLFlBQVk7RUFLaEMsY0FBYyxFQUFFLFNBQVM7RUFDekIsY0FBYyxFQUFFLDBCQUEwQjtFQUMxQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsVUFBVTtFQUM5QyxNQUFNLEVBQUUsZUFBZTtFQUN2QixnQkFBZ0IsRUFUcUMsYUFBYSxDQVM5QixVQUFVO0VBQzlDLE1BQU0sRUFBRSxPQUFPO0VBQ2YsV0FBVyxFQUFFLGNBQWM7RUFDM0IsVUFBVSxFQUFFLHVCQUF1QixDQUFDLFVBQVU7RUFDOUMsU0FBUyxFQUFFLGFBQWE7RUFDeEIsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFVBQVU7RUFZekMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLFVBQVU7RUFDN0MsUUFBUSxFQUFFLFFBQVEsR0lvTm5CO0VBRkQsQUo3TkUsZ0JJNk5jLENBQUMsYUFBYSxBSjdOM0IsTUFBTSxFSTZOVCxnQkFBZ0IsQ0FBQyxhQUFhLEFKNU4zQixNQUFNLENBQUM7SUFDTixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLGdCQUFnQixFQW5CMkUsWUFBWSxDQW1CN0QsVUFBVTtJQUNwRCxLQUFLLEVBcEJrSCxZQUFZLENBb0IvRyxVQUFVLEdBQy9CO0VJd05ILEFKaE5FLGdCSWdOYyxDQUFDLGFBQWEsQUpoTjNCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBQyxFQUFFO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsZ0JBQWdCLEVJMk1HLDJCQUEyQjtJSjFNOUMsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsT0FBTztJQUN4QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLG1CQUFtQixHQUMzQjs7QUl3TUgsQUFBQSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7RUpoUDFCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVO0VBQzNELEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLGVBQWU7RUFDdkIsS0FBSyxFQUplLFlBQVk7RUFLaEMsY0FBYyxFQUFFLFNBQVM7RUFDekIsY0FBYyxFQUFFLDBCQUEwQjtFQUMxQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsVUFBVTtFQUM5QyxNQUFNLEVBQUUsZUFBZTtFQUN2QixnQkFBZ0IsRUFUcUMsYUFBYSxDQVM5QixVQUFVO0VBQzlDLE1BQU0sRUFBRSxPQUFPO0VBQ2YsV0FBVyxFQUFFLGNBQWM7RUFDM0IsVUFBVSxFQUFFLHVCQUF1QixDQUFDLFVBQVU7RUFDOUMsU0FBUyxFQUFFLGFBQWE7RUFDeEIsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFVBQVU7RUFZekMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLFVBQVU7RUFDN0MsUUFBUSxFQUFFLFFBQVEsR0l3Tm5CO0VBRkQsQUpqT0UsZ0JJaU9jLENBQUMsVUFBVSxBSmpPeEIsTUFBTSxFSWlPVCxnQkFBZ0IsQ0FBQyxVQUFVLEFKaE94QixNQUFNLENBQUM7SUFDTixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLGdCQUFnQixFQW5CMkUsWUFBWSxDQW1CN0QsVUFBVTtJQUNwRCxLQUFLLEVBcEJrSCxZQUFZLENBb0IvRyxVQUFVLEdBQy9CO0VJNE5ILEFKcE5FLGdCSW9OYyxDQUFDLFVBQVUsQUpwTnhCLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBQyxFQUFFO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixHQUFHLEVBQUUsR0FBRztJQUNSLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsZ0JBQWdCLEVJK01HLHdCQUF3QjtJSjlNM0MsaUJBQWlCLEVBQUUsU0FBUztJQUM1QixlQUFlLEVBQUUsT0FBTztJQUN4QixtQkFBbUIsRUFBRSxNQUFNO0lBQzNCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLG1CQUFtQixHQUMzQjs7QUsxRUgsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUSxDQUFBLFVBQVU7RUFDNUIsSUFBSSxFQUFFLHdCQUFxQjtFQUMzQixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsUUFBUSxFQUFFLE1BQU0sR0FDakI7O0FBRUQsQUFBQSxnQ0FBZ0MsQ0FBQztFQUMvQixPQUFPLEVBQUUsZUFBZSxHQUN6Qjs7QUNQRSxBQUNDLGNBRFEsR0FDTixDQUFDLENBQUM7RUFDQSxTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxlQUFlO0VBQzVCLFlBQVksRUFBRSxlQUFlLEdBQ2hDOztBQUxGLEFBT0MsY0FQUSxHQU9OLFVBQVUsQ0FBQztFQUNYLFNBQVMsRUFBRSxHQUFHLEdBQ2Y7O0FBVEYsQUFXQyxjQVhRLEdBV04sVUFBVSxDQUFDO0VBQ1gsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBYkYsQUFlQyxjQWZRLEdBZU4sVUFBVSxDQUFDO0VBQ1gsS0FBSyxFQUFFLElBQUk7RUFDWCxZQUFZLEVBQUUsaUJBQWlCLEdBQ2hDOztBQWxCRixBQW9CQyxjQXBCUSxHQW9CTixXQUFXLENBQUM7RUFDWixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRUFBRSxpQkFBaUIsR0FDaEM7O0FDeEJGLEFBQUQsWUFBUSxDQUFDO0VBQ1AsWUFBWSxFQUFFLDBCQUEwQjtFQUN4QyxjQUFjLEVBQUUsMEJBQTBCO0VBQzFDLFdBQVcsRUFBRSwwQkFBMEI7RUFDdkMsYUFBYSxFQUFFLENBQUM7RUFDaEIsS0FBSyxFQUFFLGFBQWEsR0FPckI7RUFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUFQekIsQUFBRCxZQUFRLENBQUM7TVBEVCxZQUFZLEVBQUUsR0FBRztNQUNqQixhQUFhLEVBQUUsR0FBRztNT1NkLGNBQWMsRUFBRSxtQkFBbUI7TUFDbkMsV0FBVyxFQUFFLG1CQUFtQixHQUVuQztFUFhELE1BQU0sRU9NSSxTQUFTLEVBQUUsS0FBSyxPUE5sQixTQUFTLEVBQUUsT0FBTztJT0R6QixBQUFELFlBQVEsQ0FBQztNUEVQLFlBQVksRUFBRSx3QkFBd0I7TUFDdEMsYUFBYSxFQUFFLHdCQUF3QixHT1N4Qzs7QUFFQSxBQUFELGNBQVUsQ0FBQztFUGZYLFlBQVksRUFBRSxHQUFHO0VBQ2pCLGFBQWEsRUFBRSxHQUFHLEdPbUZqQjtFUGxGRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU87SU9hekIsQUFBRCxjQUFVLENBQUM7TVBaVCxZQUFZLEVBQUUsd0JBQXdCO01BQ3RDLGFBQWEsRUFBRSx3QkFBd0IsR09nRnhDO0VBL0RHLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJQU43QixBQUtDLGNBTFEsR0FLTixDQUFDLENBQUM7TUFFQSxTQUFTLEVBQUUsR0FBRyxHQU1qQjtFQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJQVY3QixBQUtDLGNBTFEsR0FLTixDQUFDLENBQUM7TUFNQSxTQUFTLEVBQUUsR0FBRyxHQUVqQjtFQWJGLEFBZUMsY0FmUSxDQWVSLEVBQUUsQ0FBQztJQUNELFVBQVUsRUFBRSxtQkFBbUIsR0FDaEM7RUFqQkYsQUFtQkMsY0FuQlEsQ0FtQlIsRUFBRSxDQUFDO0lBQ0QsVUFBVSxFQUFFLG1CQUFtQixHQUNoQztFQXJCRixBQXVCQyxjQXZCUSxDQXVCUixFQUFFLENBQUM7SUFDRCxVQUFVLEVBQUUsbUJBQW1CLEdBQ2hDO0VBekJGLEFBMkJDLGNBM0JRLENBMkJSLENBQUMsQ0FBQztJQUNBLEtBQUssRUFBRSxZQUFZO0lBQ25CLGFBQWEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVk7SUFDckMsVUFBVSxFQUFFLHVCQUF1QixHQU9wQztJQXJDRixBQWdDRyxjQWhDTSxDQTJCUixDQUFDLEFBS0UsTUFBTSxFQWhDVixjQUFTLENBMkJSLENBQUMsQUFNRSxNQUFNLENBQUM7TUFDTixLQUFLLEVBQUUsYUFBYTtNQUNwQixhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQ3ZDO0VBcENKLEFBeUNHLGNBekNNLEdBd0NOLFdBQVcsQUFDVixJQUFLLENBQUEsTUFBTSxFQUFFO0lBQ1YsY0FBYyxFQUFFLG1CQUFtQixHQUN0QztFQTNDSixBQThDQyxjQTlDUSxDQThDUixpQkFBaUIsQ0FBQztJQUNoQixLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxHQUFHO0lBQ1QsV0FBVyxFQUFFLEtBQUs7SUFDbEIsWUFBWSxFQUFFLDBCQUEwQjtJQUN4QyxhQUFhLEVBQUUsMEJBQTBCLEdBQzFDO0VBdERGLEFBeURDLGNBekRRLENBeURSLE1BQU0sQ0FBQztJQUNMLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLEtBQUs7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxXQUFXLEVBQUUsS0FBSztJQUNsQixVQUFVLEVBQUUsbUJBQW1CLEdBS2hDO0lBcEVGLEFBaUVHLGNBakVNLENBeURSLE1BQU0sQUFRSCxJQUFLLENBQUEsV0FBVyxFQUFFO01BQ2pCLGFBQWEsRUFBRSxtQkFBbUIsR0FDbkM7O0FDbEZQLEFBQUEsa0JBQWtCLENBQUM7RUFDakIsVUFBVSxFQUFFLEtBQUs7RUFDakIsZ0JBQWdCLEVBQUUsWUFBWTtFQUM5QixnQkFBZ0I7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUMsR0FDWDs7QUNQRCxBQUFBLFNBQVMsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsWUFBWSxHQWEvQjtFQVhDLEFBQUEsY0FBYyxDQUxoQixTQUFTLENBS1U7SUFDZixVQUFVLEVBQUUscURBQXFELEdBU2xFO0lBUEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO01BSDVCLEFBQUEsY0FBYyxDQUxoQixTQUFTLENBS1U7UUFJYixVQUFVLEVBQUUscURBQXFELEdBTXBFO0lBSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO01BUDVCLEFBQUEsY0FBYyxDQUxoQixTQUFTLENBS1U7UUFRYixVQUFVLEVBQUUscURBQXFELEdBRXBFOztBQ2ZILEFBQUEsV0FBVyxDQUFDO0VWQ1YsWUFBWSxFQUFFLEdBQUc7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFpQmxCLFdBQVcsRUFBRSxtQkFBbUI7RUFDaEMsY0FBYyxFQUFFLG1CQUFtQjtFVWhCbkMsUUFBUSxFQUFFLE1BQU07RUFDaEIsTUFBTSxFQUFFLENBQUM7RUFDVCxJQUFJLEVBQUUsQ0FBQztFQUNQLEtBQUssRUFBRSxDQUFDO0VBQ1IsS0FBSyxFQUFFLEtBQUs7RUFFWixPQUFPLEVBQUUsSUFBSTtFQUNiLG1CQUFtQixFQUNqQixzREFJUTtFQUNWLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxHQUFHO0VBQ3BCLFlBQVksRUFBRSxHQUFHO0VBRWpCLGdCQUFnQixFQUFFLFlBQVk7RUFDOUIsS0FBSyxFQUFFLFlBQVksR0E2R3BCO0VWaElDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJVUg1QixBQUFBLFdBQVcsQ0FBQztNVklSLFlBQVksRUFBRSx3QkFBd0I7TUFDdEMsYUFBYSxFQUFFLHdCQUF3QixHVThIMUM7RVY3R0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lVdEIzQixBQUFBLFdBQVcsQ0FBQztNVnVCUixXQUFXLEVBQUUsbUJBQW1CO01BQ2hDLGNBQWMsRUFBRSxtQkFBbUIsR1UyR3RDO0VBM0dDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtJQXhCekIsQUFBQSxXQUFXLENBQUM7TUF5QlIscUJBQXFCLEVBQUUsUUFBUTtNQUMvQixtQkFBbUIsRUFDakIsdUVBR2UsR0FxR3BCO0VBbEdDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtJQWpDekIsQUFBQSxXQUFXLENBQUM7TUFrQ1IscUJBQXFCLEVBQUUsUUFBUSxHQWlHbEM7RUE5RkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lBckM1QixBQUFBLFdBQVcsQ0FBQztNQXNDUixtQkFBbUIsRUFDakIscUVBQzZCO01BQy9CLHFCQUFxQixFQUFFLG9CQUFvQixHQTBGOUM7RUFuSUQsQUE0Q0UsV0E1Q1MsQ0E0Q1QsQ0FBQyxDQUFDO0lBQ0EsS0FBSyxFQUFFLFlBQVk7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsVUFBVSxFQUFFLHVCQUF1QixHQU1wQztJQXJESCxBQWlESSxXQWpETyxDQTRDVCxDQUFDLEFBS0UsTUFBTSxFQWpEWCxXQUFXLENBNENULENBQUMsQUFNRSxNQUFNLENBQUM7TUFDTixLQUFLLEVBQUUsZUFBZSxHQUN2QjtFQUdGLEFBQUQscUJBQVcsQ0FBQztJQUNWLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsS0FBSyxFQUFFLGVBQWU7SUFDdEIsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxTQUFTLEVBQUUsbUJBQW1CLEdBUy9CO0lBUEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01BUjFCLEFBQUQscUJBQVcsQ0FBQztRQVNSLFNBQVMsRUFBRSxtQkFBbUIsR0FNakM7SUFIQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU87TUFaM0IsQUFBRCxxQkFBVyxDQUFDO1FBYVIsU0FBUyxFQUFFLG1CQUFtQixHQUVqQztFQUVBLEFBQUQsd0JBQWMsQ0FBQztJQUNiLFNBQVMsRUFBRSxXQUFXLEdBQ3ZCO0VBRUEsQUFBRCx5QkFBZSxDQUFDO0lBQ2QsU0FBUyxFQUFFLFlBQVksR0FDeEI7RUFFQSxBQUFELHdCQUFjLENBQUM7SUFDYixTQUFTLEVBQUUsTUFBTSxHQUNsQjtFQUVBLEFBQUQsa0JBQVEsQ0FBQztJQUNQLFdBQVcsRUFBRSxxQkFBcUI7SUFDbEMsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLFlBQVk7SUFDbkIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixhQUFhLEVBQUUsbUJBQW1CLEdBQ25DO0VBRUEsQUFBRCxpQkFBTyxDQUFDO0lBQ04sU0FBUyxFQUFFLG1CQUFtQixHQUsvQjtJQU5BLEFBR0MsaUJBSEssQ0FHTCxDQUFDLEFBQUEsSUFBSyxDQUFBLGFBQWEsRUFBRTtNQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBR0YsQUFBRCx3QkFBYyxDQUFDO0lBQ2IsYUFBYSxFQUFFLG1CQUFtQixHQUNuQztFQUVBLEFBQUQsbUJBQVMsQ0FBQztJQUNSLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFdBQVcsRUFBRSxPQUFPLEdBQ3JCO0VBRUEsQUFBRCxtQkFBUyxDQUFDO0lBQ1IsU0FBUyxFQUFFLE1BQU07SUFDakIsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsUUFBUTtJQUNyQixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFVBQVUsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVk7SUFDbEMsVUFBVSxFQUFFLG1CQUFtQixHQUtoQztJQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtNQVR4QixBQUFELG1CQUFTLENBQUM7UUFVTixVQUFVLEVBQUUsQ0FBQyxHQUVoQjtFQUVBLEFBQUQsbUJBQVMsQ0FBQztJQUNSLFNBQVMsRUFBRSxtQkFBbUI7SUFDOUIsY0FBYyxFQUFFLHdCQUF3QixHQUN6Qzs7QUNsSUgsQUFBQSxXQUFXLENBQUM7RUFFVixPQUFPLEVBQUUsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGdCQUFnQixFQUFFLFlBQVk7RUFFOUIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYSxHQXdOL0I7RUFyTkUsQUFBRCxvQkFBVSxDQUFDO0lBQ1QsV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLDRDQUE0QyxHQWtCdEQ7SUFwQkEsQUFJQyxvQkFKUSxBQUlQLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLHVDQUF1QztNQUM5QyxNQUFNLEVBQUUsSUFBSTtNQUNaLElBQUksRUFBRSxxQ0FBb0M7TUFDMUMsS0FBSyxFQUFFLENBQUM7TUFDUixTQUFTLEVBQUUsNEJBQTRCO01BQ3ZDLFNBQVMsRUFBRSx1Q0FBdUM7TUFDbEQsZ0JBQWdCLEVBQUUsYUFBYTtNQUMvQixPQUFPLEVBQUUsRUFBRSxHQUtaO01BSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO1FBaEIxQixBQUlDLG9CQUpRLEFBSVAsTUFBTSxDQUFDO1VBYUosU0FBUyxFQUFFLDRCQUE0QixHQUUxQztFQUlGLEFBQUQsa0JBQVEsQ0FBQztJQUNQLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixLQUFLLEVBQUUsWUFBWSxHQUNwQjtFQUVBLEFBQUQsaUJBQU8sQ0FBQztJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsbUJBQW1CLEVBQ2pCLDBCQUNhO0lBQ2Ysa0JBQWtCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCO0lBQ3pELE9BQU8sRUFBRSw0Q0FBNEM7SUFDckQscUJBQXFCLEVBQUUsb0JBQW9CLENBQUMsSUFBSTtJQUNoRCxlQUFlLEVBQUUsR0FBRztJQUNwQixVQUFVLEVBQUUsSUFBSTtJQUNoQixRQUFRLEVBQUUsTUFBTSxHQWNqQjtJQVpDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtNQVp4QixBQUFELGlCQUFPLENBQUM7UUFhSixjQUFjLEVBQUUsR0FBRztRQUNuQixrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsR0FVNUQ7SUFQQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7TUFqQnhCLEFBQUQsaUJBQU8sQ0FBQztRQWtCSixrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsR0FNNUQ7SUFIQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU87TUFyQjNCLEFBQUQsaUJBQU8sQ0FBQztRQXNCSixVQUFVLEVBQUUsSUFBSSxHQUVuQjtFQUVBLEFBQUQsNEJBQWtCLENBQUM7SUFDakIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFBYSxFQUFFLENBQUM7SUFDaEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsU0FBUyxFQUFFLG9EQUFvRCxHQUtoRTtJQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztNQU4zQixBQUFELDRCQUFrQixDQUFDO1FBT2YsU0FBUyxFQUFFLHNDQUFzQyxHQUVwRDtFQUVBLEFBQUQsNkJBQW1CLENBQUM7SUFDbEIsU0FBUyxFQUFFLEtBQUs7SUFFaEIsUUFBUSxFQUFFLFFBQVE7SUFFbEIsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsUUFBUTtJQUN6QixXQUFXLEVBQUUsTUFBTSxHQTBCcEI7SUF4QkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01BVjFCLEFBQUQsNkJBQW1CLENBQUM7UUFXaEIsV0FBVyxFQUFFLFVBQVUsR0F1QjFCO1FBbENBLEFBY0csNkJBZGUsQUFjZCxNQUFNLENBQUM7VUFDTixPQUFPLEVBQUUsRUFBRTtVQUNYLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLEdBQUcsRUFBRSxDQUFDO1VBQ04sTUFBTSxFQUFFLElBQUk7VUFDWixJQUFJLEVBQUUsSUFBSTtVQUNWLEtBQUssRUFBRSxDQUFDO1VBQ1IsT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVBQUUsS0FBSztVQUNaLE1BQU0sRUFBRSxnQkFBZ0I7VUFDeEIsU0FBUyxFQUFFLDBDQUEwQztVQUNyRCxnQkFBZ0IsRUFBRSxhQUFhLEdBT2hDO0lBTEMsTUFBTSxFQWpCRixTQUFTLEVBQUUsTUFBTSxPQWlCYixTQUFTLEVBQUUsT0FBTztNQTNCL0IsQUFjRyw2QkFkZSxBQWNkLE1BQU0sQ0FBQztRQWNKLFNBQVMsRUFBRSwwQ0FBMEM7UUFDckQsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsZ0JBQWdCLEdBRTNCO0VBSUosQUFBRCxzQkFBWSxDQUFDO0lBQ1gsYUFBYSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxLQUFLLEVBQUUsWUFBWTtJQUNuQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLG9EQUFvRCxHQTRDaEU7SUExQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01BZnhCLEFBQUQsc0JBQVksQ0FBQztRQWdCVCxhQUFhLEVBQUUsSUFBSTtRQUNuQixjQUFjLEVBQUUsR0FBRyxHQXdDdEI7SUFyQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01BcEIxQixBQUFELHNCQUFZLENBQUM7UUFxQlQsVUFBVSxFQUFFLFdBQVc7UUFDdkIsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsSUFBSTtRQUNoQixhQUFhLEVBQUUsQ0FBQztRQUNoQixXQUFXLEVBQUUsQ0FBQztRQUNkLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxFQUFFLENBQUM7UUFDakIsV0FBVyxFQUFFLENBQUMsR0E2QmpCO0lBMUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztNQS9CM0IsQUFBRCxzQkFBWSxDQUFDO1FBZ0NULFNBQVMsRUFBRSxvREFBb0QsR0F5QmxFO0lBckJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNQUQxQixBQUFELDJCQUFNLENBQUM7UUFFSCxTQUFTLEVBQUUsb0RBQW9ELEdBV2xFO0lBUkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO01BTDNCLEFBQUQsMkJBQU0sQ0FBQztRQU1ILFNBQVMsRUFBRSxvREFBcUQsR0FPbkU7SUFiQSxBQVVDLDJCQVZJLEFBVUgsS0FBTSxDQUFBLEVBQUUsRUFBRTtNQUNULFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0lBL0NKLEFBa0RDLHNCQWxEVSxDQWtEVixFQUFFLENBQUM7TUFDRCxPQUFPLEVBQUUsSUFBSSxHQUtkO01BSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO1FBckQ1QixBQWtEQyxzQkFsRFUsQ0FrRFYsRUFBRSxDQUFDO1VBSUMsT0FBTyxFQUFDLEtBQUssR0FFaEI7RUFJRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SUFEMUIsQUFBRCwwQkFBZ0IsQ0FBQztNQUViLFVBQVUsRUFBRSxhQUFhO01BQ3pCLGFBQWEsRUFBRSxvQkFBb0I7TUFDbkMsYUFBYSxFQUFFLG1CQUFtQixHQUVyQztFQUVBLEFBQUQsMEJBQWdCLENBQUM7SUFDZixXQUFXLEVBQUUscUJBQXFCO0lBQ2xDLGFBQWEsRUFBRSxJQUFJLEdBUXBCO0lBTkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01BSjFCLEFBQUQsMEJBQWdCLENBQUM7UUFLYixnQkFBZ0IsRUFBRSxhQUFhO1FBQy9CLE9BQU8sRUFBRSxDQUFDO1FBQ1YsYUFBYSxFQUFFLG1CQUFtQjtRQUNsQyxhQUFhLEVBQUUsb0JBQW9CLEdBRXRDO0VBRUEsQUFBRCwyQkFBaUIsQ0FBQztJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixRQUFRLEVBQUUsTUFBTTtJQUNoQixNQUFNLEVBQUUsR0FBRztJQUNYLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQyxNQUFNLEVBQUUsMENBQTBDLEdBT25EO0lBTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO01BUjFCLEFBQUQsMkJBQWlCLENBQUM7UUFTZCxNQUFNLEVBQUUsQ0FBQztRQUNULEtBQUssRUFBRSx1QkFBdUI7UUFDOUIsTUFBTSxFQUFFLDBDQUEwQyxHQUVyRDtFQUVBLEFBQUQsb0JBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsMEJBQTBCO0lBQ2pDLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixVQUFVLEVBQUUsT0FBTztJQUNuQixlQUFlLEVBQUUsWUFBWSxHQUM5QjtFQUdDLEFBQUEsaUJBQWlCLENBRGxCLGdCQUFLLENBQ2dCO0lBQ2xCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsWUFBWSxFQUFFLEdBQUcsR0FDbEI7O0FDM05GLEFBQUQsaUJBQWMsQ0FBQztFQUNiLFFBQVEsRUFBRSxLQUFLO0VBRWYsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLFlBQVk7RUFDN0IsVUFBVSxFQUFFLE1BQU07RUFDbEIsTUFBTSxFQUFFLENBQUM7RUFDVCxXQUFXLEVBQUUsSUFBSTtFQUNqQixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSx1QkFBdUIsR0FRcEM7RUF0QkEsQUFnQkMsaUJBaEJZLEFBZ0JYLEtBQUssQ0FBQztJQUNMLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE9BQU8sRUFBRSxDQUFDO0lBQ1YsZ0JBQWdCLEVBQUUsWUFBWTtJQUM5QixhQUFhLEVBQUUsb0JBQW9CLEdBQ3BDOztBQUdGLEFBQUQsa0JBQWUsQ0FBQztFQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0EsQUFBRCxjQUFXLEVBQ1YsY0FBVSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsbUJBQW1CO0VBQzlCLE9BQU8sRUFBRSxtQkFBbUI7RUFDNUIsVUFBVSxFQUFFLHVCQUF1QixHQU1wQztFQUpDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJQVIxQixBQUFELGNBQVcsRUFDVixjQUFVLENBQUM7TUFRUixPQUFPLEVBQUUsbUJBQW1CO01BQzVCLFNBQVMsRUFBRSxtQkFBbUIsR0FFakM7O0FBRUEsQUFBRCxjQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsWUFBWSxHQUNwQjs7QUFFQSxBQUFELGNBQVcsQ0FBQztFQUNWLEtBQUssRUFBRSxZQUFZLEdBS3BCO0VBTkEsQUFFRyxjQUZPLEFBRU4sTUFBTSxFQUZWLGNBQVUsQUFHTixNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsWUFBWSxHQUNwQjs7QUFHSixBQUFELGtCQUFlLENBQUM7RUFDZCxXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixTQUFTLEVBQUUsbUJBQW1CO0VBQzlCLEtBQUssRUFBRSxZQUFZLEdBVXBCO0VBUkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lBUDFCLEFBQUQsa0JBQWUsQ0FBQztNQVFaLFNBQVMsRUFBRSxtQkFBbUIsR0FPakM7RUFmQSxBQVdDLGtCQVhhLEFBV1osTUFBTSxFQVhSLGtCQUFjLEFBWVosTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLFlBQVksR0FDcEI7O0FBR0YsQUFBRCxZQUFTLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUEsQUFBRCxrQkFBZSxDQUFBO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLG1CQUFtQjtFQUM1QixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLGFBQWEsRUFBRSxvQkFBb0I7RUFDbkMsVUFBVSxFQUFFLHVCQUF1QixHQWdDcEM7RUE5QkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lBVjNCLEFBQUQsa0JBQWUsQ0FBQTtNQVdYLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLElBQUksR0E0QmQ7RUF6QkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lBZjNCLEFBQUQsa0JBQWUsQ0FBQTtNQWdCWCxNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBdUJkO0VBcEJDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxPQUFPLE9BQU8sRUFBRSxJQUFJO0lBcEJ6QyxBQXFCRyxrQkFyQlcsQUFxQlYsTUFBTSxDQUFDO01BQ04sZ0JBQWdCLEVBQUUsYUFBYTtNQUMvQixNQUFNLEVBQUUsSUFBSTtNQUNaLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLFlBQVksR0FDeEI7RUExQkosQUE2QkMsa0JBN0JhLEFBNkJaLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFQUFFLGFBQWEsR0FDaEM7RUEvQkYsQUFpQ0Msa0JBakNhLEFBaUNaLE1BQU0sRUFqQ1Isa0JBQWMsQUFrQ1osT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLFlBQVk7SUFDdkIsT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBQUUsR0FBRztJQUNsQixnQkFBZ0IsRUFBRSxhQUFhLEdBQ2hDOztBQUdGLEFBQUQsdUJBQW9CLENBQUM7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFBaUI7RUFDN0MsS0FBSyxFQUFFLFlBQVk7RUFDbkIsU0FBUyxFQUFFLG1CQUFtQjtFQUM5QixjQUFjLEVBQUUsd0JBQXdCO0VBQ3hDLGNBQWMsRUFBRSxTQUFTLEdBbUIxQjtFQWpCQyxBQUFBLGNBQWMsQ0FWZix1QkFBbUIsQ0FVRDtJQUNmLEtBQUssRUFBRSxZQUFZLEdBQ3BCO0VBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lBZDFCLEFBQUQsdUJBQW9CLENBQUM7TUFlakIsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGlCQUFpQixHQVloRDtFQVRDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtJQUNyQixBQUFBLGNBQWMsQ0FuQmpCLHVCQUFtQixDQW1CQztNQUNmLEtBQUssRUFBRSxZQUFZLEdBQ3BCO0VBckJKLEFBd0JDLHVCQXhCa0IsQUF3QmpCLEtBQUssQ0FBRTtJQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0YsQUFBRCxnQkFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCLEtBQUssRUFBRSxvQ0FBb0M7RUFDM0MsTUFBTSxFQUFFLEdBQUc7RUFDWCxTQUFTLEVBQUUsWUFBWTtFQUN2QixVQUFVLEVBQUUsZ0JBQWdCO0VBQzVCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsWUFBWSxHQXFDL0I7RUFuQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lBWDNCLEFBQUQsZ0JBQWEsQ0FBQztNQVlWLE1BQU0sRUFBRSxHQUFHLEdBa0NkO0VBOUNBLEFBZUMsZ0JBZlcsQUFlVixVQUFXLENBQUEsQ0FBQyxFQUFFO0lBQ2IsR0FBRyxFQUFFLG1CQUFtQixHQUN6QjtFQWpCRixBQW1CQyxnQkFuQlcsQUFtQlYsVUFBVyxDQUFBLENBQUMsR0FuQmQsZ0JBQVksQUFvQlYsVUFBVyxDQUFBLENBQUMsRUFBRztJQUNkLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtFQXZCRixBQXlCQyxnQkF6QlcsQUF5QlYsV0FBVyxDQUFDO0lBQ1gsTUFBTSxFQUFFLG1CQUFtQixHQUM1QjtFQUdELEFBQ0UsS0FERyxDQTlCTixnQkFBWSxBQStCUixVQUFXLENBQUEsQ0FBQyxHQURmLEtBQUssQ0E5Qk4sZ0JBQVksQUFnQ1IsV0FBVyxDQUFDO0lBQ1gsR0FBRyxFQUFFLEdBQUc7SUFDUixLQUFLLEVBQUUsQ0FBQztJQUNSLElBQUksRUFBRSxHQUFHLEdBQ1Y7RUFOSCxBQVFFLEtBUkcsQ0E5Qk4sZ0JBQVksQUFzQ1IsVUFBVyxDQUFBLENBQUMsRUFBRTtJQUNiLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBVkgsQUFZRSxLQVpHLENBOUJOLGdCQUFZLEFBMENSLFVBQVcsQ0FBQSxDQUFDLEVBQUU7SUFDYixTQUFTLEVBQUUsY0FBYyxHQUMxQjs7QUNwTVAsQUFBQSxXQUFXLENBQUM7RWJDVixZQUFZLEVBQUUsR0FBRztFQUNqQixhQUFhLEVBQUUsR0FBRztFQWlCbEIsV0FBVyxFQUFFLG1CQUFtQjtFQUNoQyxjQUFjLEVBQUUsbUJBQW1CO0VhakJuQyxVQUFVLEVBQUUsZUFBZSxHQTBFNUI7RWIxRUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lhSDVCLEFBQUEsV0FBVyxDQUFDO01iSVIsWUFBWSxFQUFFLHdCQUF3QjtNQUN0QyxhQUFhLEVBQUUsd0JBQXdCLEdhd0UxQztFYnZEQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SWF0QjNCLEFBQUEsV0FBVyxDQUFDO01idUJSLFdBQVcsRUFBRSxtQkFBbUI7TUFDaEMsY0FBYyxFQUFFLG1CQUFtQixHYXFEdEM7RUF4RUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lBTDNCLEFBQUEsV0FBVyxDQUFDO01BTVIsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsTUFBTTtNQUN2QixxQkFBcUIsRUFBRSxrQ0FBa0MsQ0FBQyxrQkFBa0IsQ0FBQyxrQ0FBa0M7TUFDL0csbUJBQW1CLEVBQ2pCLGtFQUdjO01BQ2hCLGVBQWUsRUFBRSxtQkFBbUIsR0ErRHZDO0VBNURDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJQWpCNUIsQUFBQSxXQUFXLENBQUM7TUFrQlIsZUFBZSxFQUFFLG1CQUFtQixHQTJEdkM7RUF4REUsQUFBRCxrQkFBUSxDQUFDO0liZ0hULFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRUFBRSxtQkFBbUI7SWEvRzVCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0liZ0hELE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNYW5IeEIsQUFBRCxrQkFBUSxDQUFDO1Fib0hQLFNBQVMsRUFBRSxtQkFBbUIsR2FqSC9CO0lib0hELE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSTtNYXZIdEIsQUFBRCxrQkFBUSxDQUFDO1Fid0hQLFNBQVMsRUFBRSxtQkFBbUIsR2FySC9CO0VBRUEsQUFBRCxrQkFBUSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUksR0FlZDtJQWJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNQUgxQixBQUFELGtCQUFRLENBQUM7UUFJTCxPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxLQUFLO1FBQ2hCLFlBQVksRUFBRSxHQUFHLEdBVXBCO1FBaEJBLEFBUUcsa0JBUkksQ0FRSixHQUFHLENBQUM7VUFDRixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osWUFBWSxFQUFFLG1CQUFtQjtVQUVqQyxTQUFTLEVBQUUsWUFBWSxDQUFDLGNBQWMsR0FDdkM7RUFJSixBQUFELGlCQUFPLENBQUM7SUFDTixTQUFTLEVBQUUsSUFBSTtJYnFHakIsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSSxHYXRHakI7RUFFQSxBQUFELHdCQUFjLENBQUM7SUFDYixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVBLEFBQUQsMEJBQWdCLENBQUM7SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsZUFBZSxFQUFFLGFBQWEsR0FDL0I7RUFFQSxBQUFELHlCQUFlLENBQUM7SUFDZCxLQUFLLEVBQUUsR0FBRztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU0sR0FDdkI7RUFFQSxBQUFELGtCQUFRLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBRUEsQUFBRCxzQkFBWSxDQUFDO0lBQ1gsV0FBVyxFQUFFLElBQUksR0FDbEI7RUFFQSxBQUFELG1CQUFTLENBQUM7SUFDUixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FDNUVILEFBQUEsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQUFFLE1BQU0sR0F1QmY7RUFyQkUsQUFBRCxvQkFBTyxDQUFDO0lBQ04sWUFBWSxFQUFFLENBQUM7SUFDZixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsSUFBSTtJQUNWLGdCQUFnQixFQUFFLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsR0FBRyxHQUN2QjtFQVRILEFBWUksY0FaVSxBQVdYLFFBQVEsQ0FDUCxvQkFBb0IsQ0FBQztJQUNuQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsY0FBYyxFQUFFLElBQUksR0FPckI7SUF0QkwsQUFnQk0sY0FoQlEsQUFXWCxRQUFRLENBQ1Asb0JBQW9CLEFBSWpCLE9BQU8sQ0FBQztNQUNQLGVBQWUsRUFBRSxHQUFHLEdBQ3JCO0lBbEJQLEFBbUJNLGNBbkJRLEFBV1gsUUFBUSxDQUNQLG9CQUFvQixBQU9qQixPQUFPLENBQUM7TUFDUCxlQUFlLEVBQUUsR0FBRyxHQUNyQjs7QUFLUCxVQUFVLENBQVYsSUFBVTtFQUNULEVBQUU7SUFDQyxpQkFBaUIsRUFBRSxDQUFDOztBQzVCeEIsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsSUFBSSxHQWtFZDtFQWhFRSxBQUFELGFBQU8sQ0FBQztJQUNOLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixZQUFZLEVBQUUsbUJBQW1CO0lBQ2pDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU07SUFDdkIsV0FBVyxFQUFFLE9BQU8sR0FDckI7RUFFQSxBQUFELGFBQU8sQ0FBQztJQUNOLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFdBQVcsRUFBRSxPQUFPLEdBZ0NyQjtJQXJDQSxBQVVLLGFBVkMsQUFPSixNQUFNLENBRUwsR0FBRyxDQUNELElBQUksRUFWVCxhQUFNLEFBUUosTUFBTSxDQUNMLEdBQUcsQ0FDRCxJQUFJLENBQUM7TUFDSCxJQUFJLEVBQUUsZUFBZSxHQUN0QjtJQVpOLEFBZ0JLLGFBaEJDLEFBT0osTUFBTSxDQVFMLE1BQU0sQ0FDSixJQUFJLEVBaEJULGFBQU0sQUFRSixNQUFNLENBT0wsTUFBTSxDQUNKLElBQUksQ0FBQztNQUNILElBQUksRUFBRSxnQkFBZ0IsR0FDdkI7SUFsQk4sQUFzQkssYUF0QkMsQUFPSixNQUFNLENBY0wsUUFBUSxDQUNOLElBQUksRUF0QlQsYUFBTSxBQVFKLE1BQU0sQ0FhTCxRQUFRLENBQ04sSUFBSSxDQUFDO01BQ0gsSUFBSSxFQUFFLGNBQWMsR0FDckI7SUF4Qk4sQUE0QkssYUE1QkMsQUFPSixNQUFNLENBb0JMLFNBQVMsQ0FDUCxJQUFJLEVBNUJULGFBQU0sQUFRSixNQUFNLENBbUJMLFNBQVMsQ0FDUCxJQUFJLENBQUM7TUFDSCxJQUFJLEVBQUUsZUFBZSxHQUN0QjtJQTlCTixBQWlDRyxhQWpDRyxBQU9KLE1BQU0sQ0EwQkwsUUFBUSxFQWpDWCxhQUFNLEFBUUosTUFBTSxDQXlCTCxRQUFRLENBQUM7TUFDUCxJQUFJLEVBQUUsWUFBWSxHQUNuQjtFQUlKLEFBQUQsWUFBTSxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixNQUFNLEVBQUUsQ0FBQztJQUNULE1BQU0sRUFBRSxJQUFJLEdBQ2I7RUFFQSxBQUFELGlCQUFXLENBQUM7SUFDVixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLElBQUksRUFBRSxZQUFZLEdBQ25CO0VBOURILEFBZ0VFLE9BaEVLLENBZ0VMLFFBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSx1QkFBdUIsR0FDcEM7O0FDakVILEFBQUEsZUFBZSxDQUFDO0VoQkFkLFlBQVksRUFBRSxHQUFHO0VBQ2pCLGFBQWEsRUFBRSxHQUFHO0VBaUJsQixXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLGNBQWMsRUFBRSxtQkFBbUI7RWdCaEJuQyxnQkFBZ0IsRUFBRSxlQUFlO0VBQ2pDLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLE1BQU07RUFDdkIsbUJBQW1CLEVBQ2pCLGdDQUdNO0VBQ1IsWUFBWSxFQUFFLG1CQUFtQixHQW9DbEM7RWhCN0NDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJZ0JGNUIsQUFBQSxlQUFlLENBQUM7TWhCR1osWUFBWSxFQUFFLHdCQUF3QjtNQUN0QyxhQUFhLEVBQUUsd0JBQXdCLEdnQjJDMUM7RWhCMUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJZ0JyQjNCLEFBQUEsZUFBZSxDQUFDO01oQnNCWixXQUFXLEVBQUUsbUJBQW1CO01BQ2hDLGNBQWMsRUFBRSxtQkFBbUIsR2dCd0J0QztFQWxDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7SUFiekIsQUFBQSxlQUFlLENBQUM7TUFjWixtQkFBbUIsRUFDakIseURBR2U7TUFDakIsZUFBZSxFQUFFLG1CQUFtQjtNQUNwQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsR0EyQi9EO0VBeEJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztJQXZCNUIsQUFBQSxlQUFlLENBQUM7TUF3QloscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCO01BQzVELGVBQWUsRUFBRSxtQkFBbUIsR0FzQnZDO0VBbkJFLEFBQUQsc0JBQVEsQ0FBQztJaEJ3R1QsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLG1CQUFtQjtJZ0J2RzVCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCO0loQnVHRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07TWdCM0d4QixBQUFELHNCQUFRLENBQUM7UWhCNEdQLFNBQVMsRUFBRSxtQkFBbUIsR2dCeEcvQjtJaEIyR0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01nQi9HdEIsQUFBRCxzQkFBUSxDQUFDO1FoQmdIUCxTQUFTLEVBQUUsbUJBQW1CLEdnQjVHL0I7RUFFQSxBQUFELHFCQUFPLENBQUM7SWhCK0dSLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUk7SWdCaEhoQixXQUFXLEVBQUUsQ0FBQztJQUNkLFNBQVMsRUFBRSxJQUFJLEdBQ2hCO0VBRUEsQUFBRCw0QkFBYyxDQUFDO0lBQ2IsU0FBUyxFQUFFLElBQUksR0FDaEI7RUFFQSxBQUFELHlCQUFXLENBQUM7SUFDVixTQUFTLEVBQUUsUUFBUSxHQUNwQjs7QUMvQ0gsQUFBQSxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNLEdBNEZ2QjtFQTFGQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7SUFKekIsQUFBQSxTQUFTLENBQUM7TUFLTixjQUFjLEVBQUUsR0FBRyxHQXlGdEI7RUF0RkUsQUFBRCxxQkFBYSxDQUFDO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEdBQUc7SUFDVixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLGdCQUFnQixFQUFFLFlBQVksR0FPL0I7SUFMQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7TUFSeEIsQUFBRCxxQkFBYSxDQUFDO1FBU1YsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsbUJBQW1CO1FBQzFCLFNBQVMsRUFBRSxtQkFBbUIsR0FFakM7RUFFQSxBQUFELGNBQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLDZEQUE2RDtJQUN6RSxTQUFTLEVBQUUsU0FBUztJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFVBQVUsRUFBRSxJQUFJLEdBT2pCO0lBTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01BWHhCLEFBQUQsY0FBTSxDQUFDO1FBWUgsVUFBVSxFQUFFLDZEQUE2RDtRQUN6RSxTQUFTLEVBQUUsU0FBUztRQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEdBRTNCO0VBRUEsQUFBRCxlQUFPLENBQUM7SUFDTixLQUFLLEVBQUUsR0FBRztJQUNWLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFNBQVMsRUFBRSxtQkFBbUI7SUFDOUIsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLGFBQWE7SUFDeEIsVUFBVSxFQUFFLG1CQUFtQixHQWtDaEM7SUFoQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01BVnhCLEFBQUQsZUFBTyxDQUFDO1FBV0osS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNWLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFdBQVcsRUFBRSxtQkFBbUI7UUFDaEMsYUFBYSxFQUFFLG1CQUFtQjtRQUNsQyxVQUFVLEVBQUUsMEJBQTBCLEdBMEJ6QztRQXhCRyxBQUFBLFFBQVEsQ0FsQlgsZUFBTSxDQWtCUTtVQUNULE9BQU8sRUFBRSxDQUFDLEdBQ1g7SUFwQkosQUF1QkMsZUF2QkssQ0F1QkwsR0FBRyxDQUFDO01BQ0YsT0FBTyxFQUFFLElBQUksR0FpQmQ7TUFmQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7UUExQjFCLEFBdUJDLGVBdkJLLENBdUJMLEdBQUcsQ0FBQztVQUlBLE9BQU8sRUFBRSxLQUFLO1VBQ2QsUUFBUSxFQUFFLFFBQVE7VUFDbEIsU0FBUyxFQUFFLGNBQWMsQ0FBQyw0Q0FBNEMsQ0FBQyxlQUFlO1VBQ3RGLEtBQUssRUFBRSxtQkFBbUI7VUFDMUIsTUFBTSxFQUFFLG1CQUFtQjtVQUMzQixPQUFPLEVBQUUsQ0FBQztVQUNWLG1CQUFtQixFQUFFLEVBQUU7VUFDdkIsZ0JBQWdCLEVBQUUsSUFBSTtVQUN0QiwwQkFBMEIsRUFBRSxRQUFRLEdBTXZDO1VBSkcsQUFBQSxRQUFRLENBckNiLGVBQU0sQ0F1QkwsR0FBRyxDQWNZO1lBQ1QsT0FBTyxFQUFFLENBQUMsR0FDWDtFQUtOLEFBQUQsa0JBQVUsQ0FBQztJQUNULFdBQVcsRUFBRSxHQUFHLEdBT2pCO0lBTEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01BSHhCLEFBQUQsa0JBQVUsQ0FBQztRQUlQLGdCQUFnQixFQUFFLFlBQVk7UUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxtQkFBbUI7UUFDaEMsYUFBYSxFQUFFLG9CQUFvQixHQUV0Qzs7QUM3RkgsQUFBQSxRQUFRLENBQUM7RWxCQ1AsWUFBWSxFQUFFLEdBQUc7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFpQmxCLFdBQVcsRUFBRSxtQkFBbUI7RUFDaEMsY0FBYyxFQUFFLG1CQUFtQjtFa0JqQm5DLGdCQUFnQixFQUFFLFlBQVksR0FzQi9CO0VsQnRCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU87SWtCSDVCLEFBQUEsUUFBUSxDQUFDO01sQklMLFlBQVksRUFBRSx3QkFBd0I7TUFDdEMsYUFBYSxFQUFFLHdCQUF3QixHa0JvQjFDO0VsQkhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJa0J0QjNCLEFBQUEsUUFBUSxDQUFDO01sQnVCTCxXQUFXLEVBQUUsbUJBQW1CO01BQ2hDLGNBQWMsRUFBRSxtQkFBbUIsR2tCQ3RDO0VBcEJFLEFBQUQsa0JBQVcsQ0FBQztJbEJrR1osT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixZQUFZLEVBQUUsbUJBQW1CO0lrQmxHL0IsYUFBYSxFQUFFLG1CQUFtQixHQUNuQztJQUhBLEFsQnNHRCxrQmtCdEdXLEFsQnNHVixPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUMsRUFBRTtNQUNWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxDQUFDO01BQ1AsZ0JBQWdCLEVBQUUsMEJBQTBCO01BQzVDLGVBQWUsRUFBRSxPQUFPO01BQ3hCLGlCQUFpQixFQUFFLFNBQVM7TUFDNUIsbUJBQW1CLEVBQUUsTUFBTTtNQUMzQixPQUFPLEVBQUUsWUFBWTtNQUNyQixLQUFLLEVBQUUsbUJBQW1CO01BQzFCLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0IsR0FBRyxFQUFFLEtBQUssR0FDWDtJa0JsSEEsQWxCdUhHLGtCa0J2SE8sQWxCc0hSLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO01BQ1AsU0FBUyxFQUFFLGFBQTRCLEdBQ3hDO0lrQnpISixBbEJ1SEcsa0JrQnZITyxBbEJzSFIsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7TUFDUCxTQUFTLEVBQUUsWUFBNEIsR0FDeEM7SWtCekhKLEFsQnVIRyxrQmtCdkhPLEFsQnNIUixVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztNQUNQLFNBQVMsRUFBRSxZQUE0QixHQUN4QztJa0J6SEosQWxCdUhHLGtCa0J2SE8sQWxCc0hSLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO01BQ1AsU0FBUyxFQUFFLGFBQTRCLEdBQ3hDO0lrQnpISixBbEJ1SEcsa0JrQnZITyxBbEJzSFIsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7TUFDUCxTQUFTLEVBQUUsYUFBNEIsR0FDeEM7SWtCekhKLEFsQnVIRyxrQmtCdkhPLEFsQnNIUixVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztNQUNQLFNBQVMsRUFBRSxZQUE0QixHQUN4QztJa0J6SEosQWxCdUhHLGtCa0J2SE8sQWxCc0hSLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO01BQ1AsU0FBUyxFQUFFLFlBQTRCLEdBQ3hDO0lrQnpISixBbEJ1SEcsa0JrQnZITyxBbEJzSFIsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7TUFDUCxTQUFTLEVBQUUsWUFBNEIsR0FDeEM7SWtCekhKLEFsQnVIRyxrQmtCdkhPLEFsQnNIUixVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztNQUNQLFNBQVMsRUFBRSxhQUE0QixHQUN4QztJa0J6SEosQWxCdUhHLGtCa0J2SE8sQWxCc0hSLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO01BQ1AsU0FBUyxFQUFFLFlBQTRCLEdBQ3hDO0VrQnBISixBQUFELGVBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBR0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lBRDFCLEFBQUQsaUJBQVUsQ0FBQztNQUVQLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRUFBRSxJQUFJO01BQ2xCLFNBQVMsRUFBRSxHQUFHLEdBTWpCO0VBSEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO0lBUDNCLEFBQUQsaUJBQVUsQ0FBQztNQVFQLFNBQVMsRUFBRSxHQUFHLEdBRWpCOztBQ3hCSCxBQUFBLE1BQU0sQ0FBQztFQUNMLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU0sR0F1SHZCO0VBckhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJQUozQixBQUFBLE1BQU0sQ0FBQztNQUtILGNBQWMsRUFBRSxHQUFHLEdBb0h0QjtFQWpIRSxBQUFELG9CQUFlLENBQUM7SUFDZCxVQUFVLEVBQUUsS0FBSyxHQUtsQjtJQUpDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNQUYxQixBQUFELG9CQUFlLENBQUM7UUFHWixVQUFVLEVBQUMsSUFBSTtRQUNmLEtBQUssRUFBRSxHQUFHLEdBRWI7RUFFQSxBQUFELGFBQVEsQ0FBQztJQUNQLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSyxHQUNmO0VBRUEsQUFBRCxlQUFVLENBQUM7SUFDVCxRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHO0lBQ2hDLGdCQUFnQixFQUFFLGFBQWE7SUFDL0IsS0FBSyxFQUFFLFlBQVksR0E0QnBCO0lBMUJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtNQVQxQixBQUFELGVBQVUsQ0FBQztRQVVQLEtBQUssRUFBRSxHQUFHLEdBeUJiO0lBdEJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztNQWIzQixBQUFELGVBQVUsQ0FBQztRQWNQLE9BQU8sRUFBRSxtQkFBbUIsR0FxQi9CO0lBbkNBLEFBaUJDLGVBakJRLEFBaUJQLE9BQU8sQ0FBQztNQUNQLE9BQU8sRUFBRSxFQUFFO01BQ1gsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLFNBQVMsRUFBRSxnQkFBZ0I7TUFDM0IsTUFBTSxFQUFFLEdBQUc7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLGdCQUFnQixFQUFFLGFBQWE7TUFDL0IsU0FBUyxFQUFFLDBDQUEwQyxHQVF0RDtNQU5DLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtRQTVCNUIsQUFpQkMsZUFqQlEsQUFpQlAsT0FBTyxDQUFDO1VBWUwsTUFBTSxFQUFFLElBQUk7VUFDWixLQUFLLEVBQUUsR0FBRztVQUNWLFNBQVMsRUFBRSwwQ0FBMEM7VUFDckQsU0FBUyxFQUFFLGdCQUFnQixHQUU5QjtFQUdGLEFBQUQsWUFBTyxDQUFDO0lBQ04sUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixXQUFXLEVBQUUsbUJBQW1CO0lBQ2hDLFNBQVMsRUFBRSxtQkFBbUI7SUFDOUIsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxlQUFlLEVBQUUsV0FBVyxHQXdDN0I7SUF0Q0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJO01BUnhCLEFBQUQsWUFBTyxDQUFDO1FBU0osU0FBUyxFQUFFLG1CQUFtQixHQXFDakM7SUFsQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPO01BWjNCLEFBQUQsWUFBTyxDQUFDO1FBYUosU0FBUyxFQUFFLG1CQUFtQixHQWlDakM7SUE5Q0EsQUFnQkMsWUFoQkssQUFnQkosTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsQ0FBQztNQUNQLE9BQU8sRUFBRSxDQUFDO01BQ1YsR0FBRyxFQUFFLENBQUM7TUFDTixTQUFTLEVBQUUsNkJBQTZCO01BQ3hDLGdCQUFnQixFQUFFLDBCQUEwQjtNQUM1QyxlQUFlLEVBQUUsT0FBTztNQUN4QixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtNQUMxQixNQUFNLEVBQUUsbUJBQW1CLEdBaUI1QjtNQWZDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtRQTlCNUIsQUFnQkMsWUFoQkssQUFnQkosTUFBTSxDQUFDO1VBZUosU0FBUyxFQUFFLDZCQUE2QjtVQUN4QyxLQUFLLEVBQUUsbUJBQW1CO1VBQzFCLE1BQU0sRUFBRSxtQkFBbUIsR0FZOUI7TUFUQyxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUk7UUFwQzFCLEFBZ0JDLFlBaEJLLEFBZ0JKLE1BQU0sQ0FBQztVQXFCSixLQUFLLEVBQUUsbUJBQW1CO1VBQzFCLE1BQU0sRUFBRSxtQkFBbUIsR0FPOUI7TUFKQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU87UUF6QzdCLEFBZ0JDLFlBaEJLLEFBZ0JKLE1BQU0sQ0FBQztVQTBCSixLQUFLLEVBQUUsbUJBQW1CO1VBQzFCLE1BQU0sRUFBRSxtQkFBbUIsR0FFOUI7RUFHRixBQUFELFlBQU8sQ0FBQztJQUNOLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLGNBQWMsRUFBRSwwQkFBMEI7SUFDMUMsS0FBSyxFQUFFLFlBQVk7SUFDbkIsVUFBVSxFQUFFLEtBQUssR0FNbEI7SUFKQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07TUFSMUIsQUFBRCxZQUFPLENBQUM7UUFTSixVQUFVLEVBQUUsSUFBSTtRQUNoQixVQUFVLEVBQUUsbUJBQW1CLEdBRWxDOztBQ3hISCxBQUNFLGNBRFksQ0FDWixFQUFFLENBQUM7RXBCc0dILE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsWUFBWSxFQUFFLG1CQUFtQjtFb0J0Ry9CLGFBQWEsRUFBRSxtQkFBbUIsR0FDbkM7RUFKSCxBcEIyR0UsY29CM0dZLENBQ1osRUFBRSxBcEIwR0QsT0FBTyxDQUFDO0lBQ1AsT0FBTyxFQUFDLEVBQUU7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsQ0FBQztJQUNQLGdCQUFnQixFQUFFLDBCQUEwQjtJQUM1QyxlQUFlLEVBQUUsT0FBTztJQUN4QixpQkFBaUIsRUFBRSxTQUFTO0lBQzVCLG1CQUFtQixFQUFFLE1BQU07SUFDM0IsT0FBTyxFQUFFLFlBQVk7SUFDckIsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLEdBQUcsRUFBRSxLQUFLLEdBQ1g7RW9CdkhILEFwQjRITSxjb0I1SFEsQ0FDWixFQUFFLEFwQjBIQyxVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSxZQUE0QixHQUN4QztFb0I5SFAsQXBCNEhNLGNvQjVIUSxDQUNaLEVBQUUsQXBCMEhDLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLFlBQTRCLEdBQ3hDO0VvQjlIUCxBcEI0SE0sY29CNUhRLENBQ1osRUFBRSxBcEIwSEMsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsYUFBNEIsR0FDeEM7RW9COUhQLEFwQjRITSxjb0I1SFEsQ0FDWixFQUFFLEFwQjBIQyxVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSxZQUE0QixHQUN4QztFb0I5SFAsQXBCNEhNLGNvQjVIUSxDQUNaLEVBQUUsQXBCMEhDLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLFlBQTRCLEdBQ3hDO0VvQjlIUCxBcEI0SE0sY29CNUhRLENBQ1osRUFBRSxBcEIwSEMsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsWUFBNEIsR0FDeEM7RW9COUhQLEFwQjRITSxjb0I1SFEsQ0FDWixFQUFFLEFwQjBIQyxVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSxZQUE0QixHQUN4QztFb0I5SFAsQXBCNEhNLGNvQjVIUSxDQUNaLEVBQUUsQXBCMEhDLFVBQVcsQ0FBQSxDQUFDLENBQ1YsT0FBTyxDQUFDO0lBQ1AsU0FBUyxFQUFFLFlBQTRCLEdBQ3hDO0VvQjlIUCxBcEI0SE0sY29CNUhRLENBQ1osRUFBRSxBcEIwSEMsVUFBVyxDQUFBLENBQUMsQ0FDVixPQUFPLENBQUM7SUFDUCxTQUFTLEVBQUUsWUFBNEIsR0FDeEM7RW9COUhQLEFwQjRITSxjb0I1SFEsQ0FDWixFQUFFLEFwQjBIQyxVQUFXLENBQUEsQ0FBQyxDQUNWLE9BQU8sQ0FBQztJQUNQLFNBQVMsRUFBRSxhQUE0QixHQUN4Qzs7QXFCOUhQLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsWUFBWSxFQUFFLFlBQVk7RUFDMUIsVUFBVSxFQUFFLG1CQUFtQjtFQUMvQixhQUFhLEVBQUUsbUJBQW1CO0VBQ2xDLFdBQVcsRUFBRSxDQUFDLEdBQ2Y7O0FDTEQsQUFBQSwyQkFBMkIsQ0FBQztFQUMxQixnQkFBZ0IsRUFBRSxZQUFZO0VBQzlCLE9BQU8sRUFBRSxtQkFBbUI7RUFDNUIsYUFBYSxFQUFFLG1CQUFtQixHQThCbkM7RUFqQ0QsQUFLRSwyQkFMeUIsQ0FLekIsbUJBQW1CLENBQUM7SUFDbEIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixNQUFNLEVBQUUsQ0FBQyxHQVVWO0lBakJILEFBU0ksMkJBVHVCLENBS3pCLG1CQUFtQixBQUloQixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNQUNYLGdCQUFnQixFQUFFLHVCQUF1QjtNQUN6QyxLQUFLLEVBQUUsbUJBQW1CO01BQzFCLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0IsaUJBQWlCLEVBQUUsU0FBUztNQUM1QixlQUFlLEVBQUUsT0FBTyxHQUN6QjtFQWhCTCxBQXFCTSwyQkFyQnFCLEFBbUJ4QixRQUFRLENBQ1AsbUJBQW1CLEFBQ2hCLE1BQU0sQ0FBQztJQUNOLGdCQUFnQixFQUFFLHdCQUF3QixHQUMzQztFQXZCUCxBQTJCRSwyQkEzQnlCLENBMkJ6QixxQkFBcUIsQ0FBQztJQUNwQixVQUFVLEVBQUUsbUJBQW1CLEdBSWhDO0lBaENILEFBNkJJLDJCQTdCdUIsQ0EyQnpCLHFCQUFxQixHQUVqQixXQUFXLENBQUM7TUFDWixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUM5QkYsQUFBRCxzQkFBTyxDQUFDO0V2QmlDUixPQUFPLEVBQUUsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVTtFQUMzRCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLEtBQUssRUFKZSxZQUFZO0VBS2hDLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLGNBQWMsRUFBRSwwQkFBMEI7RUFDMUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLFVBQVU7RUFDOUMsTUFBTSxFQUFFLGVBQWU7RUFDdkIsZ0JBQWdCLEVBVHFDLGFBQWEsQ0FTOUIsVUFBVTtFQUM5QyxNQUFNLEVBQUUsT0FBTztFQUNmLFdBQVcsRUFBRSxjQUFjO0VBQzNCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVO0VBQzlDLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLEd1QjVDeEM7RUFGQSxBdkJnREQsc0J1QmhETyxBdkJnRE4sTUFBTSxFdUJoRE4sc0JBQU0sQXZCaUROLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsZ0JBQWdCLEVBbkIyRSxZQUFZLENBbUI3RCxVQUFVO0lBQ3BELEtBQUssRUFwQmtILFlBQVksQ0FvQi9HLFVBQVUsR0FDL0I7O0F3QnRESCxBQUFBLGNBQWMsQ0FBQztFQUNiLFVBQVUsRUFBRSxtQkFBbUI7RUFDL0IsYUFBYSxFQUFFLG1CQUFtQixHQVVuQztFQVpELEFBSUUsY0FKWSxDQUlaLENBQUMsQ0FBQztJQUNBLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0VBRUEsQUFBRCxzQkFBUyxDQUFDO0l4QjBCVixPQUFPLEVBQUUsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsVUFBVTtJQUMzRCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLEtBQUssRUFKZSxZQUFZO0lBS2hDLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGNBQWMsRUFBRSwwQkFBMEI7SUFDMUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLFVBQVU7SUFDOUMsTUFBTSxFQUFFLGVBQWU7SUFDdkIsZ0JBQWdCLEVBVHFDLGFBQWEsQ0FTOUIsVUFBVTtJQUM5QyxNQUFNLEVBQUUsT0FBTztJQUNmLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVO0lBQzlDLFNBQVMsRUFBRSxhQUFhO0lBQ3hCLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVO0lBWXpDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVO0lBQzdDLFFBQVEsRUFBRSxRQUFRO0l3QmxEaEIsS0FBSyxFQUFFLElBQUksR0FDWjtJQUhBLEF4QnlDRCxzQndCekNTLEF4QnlDUixNQUFNLEV3QnpDTixzQkFBUSxBeEIwQ1IsTUFBTSxDQUFDO01BQ04sU0FBUyxFQUFFLGdCQUFnQjtNQUMzQixnQkFBZ0IsRUFuQjJFLFlBQVksQ0FtQjdELFVBQVU7TUFDcEQsS0FBSyxFQXBCa0gsWUFBWSxDQW9CL0csVUFBVSxHQUMvQjtJd0I5Q0EsQXhCc0RELHNCd0J0RFMsQXhCc0RSLE1BQU0sQ0FBQztNQUNOLE9BQU8sRUFBQyxFQUFFO01BQ1YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLG1CQUFtQjtNQUMxQixHQUFHLEVBQUUsR0FBRztNQUNSLFNBQVMsRUFBRSxnQkFBZ0I7TUFDM0IsZ0JBQWdCLEV3QjNESywyQkFBMkI7TXhCNERoRCxpQkFBaUIsRUFBRSxTQUFTO01BQzVCLGVBQWUsRUFBRSxPQUFPO01BQ3hCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsTUFBTSxFQUFFLG1CQUFtQjtNQUMzQixLQUFLLEVBQUUsbUJBQW1CLEdBQzNCOztBeUIxRUgsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsbUJBQW1CO0VBQy9CLGFBQWEsRUFBRSxtQkFBbUIsR0FpSG5DO0VBL0dFLEFBQUQsd0JBQVEsQ0FBQztJQUNQLE9BQU8sRUFBRSxJQUFJO0lBQ2Isa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixZQUFZLEVBQUUsbUJBQW1CO0lBQ2pDLGVBQWUsRUFBRSxtQkFBbUI7SUFFcEMsU0FBUyxFQUFFLENBQUM7SUFDWixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsUUFBUSxFQUFFLG1CQUFtQixHQVU5QjtJQVJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztNQVYzQixBQUFELHdCQUFRLENBQUM7UUFXTCxxQkFBcUIsRUFBRSx5QkFBeUI7UUFDaEQsUUFBUSxFQUFFLG1CQUFtQixHQU1oQztJQUhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTztNQWYzQixBQUFELHdCQUFRLENBQUM7UUFnQkwscUJBQXFCLEVBQUUseUJBQXlCLEdBRW5EO0VBRUEsQUFBRCx1QkFBTyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTSxHQWV2QjtJQWpCQSxBQUtHLHVCQUxHLEFBSUosVUFBVyxDQUFBLEdBQUcsRUFDYiw4QkFBOEIsQUFBQSxPQUFPLENBQUM7TUFDcEMsU0FBUyxFQUFFLGdDQUFnQyxHQUM1QztJQVBKLEFBWUssdUJBWkMsQUFVSixVQUFXLENBQUEsSUFBSSxFQUNkLDhCQUE4QixBQUMzQixPQUFPLENBQUM7TUFDUCxTQUFTLEVBQUUsMENBQTBDLEdBQ3REO0VBS04sQUFBRCw2QkFBYSxDQUFDO0l6Qm1DZCxRQUFRLEVBQUUsUUFBUTtJeUJqQ2hCLFFBQVEsRUFBRSxRQUFRLEdBYW5CO0lBZkEsQXpCcUNELDZCeUJyQ2EsQXpCcUNaLE9BQU8sQ0FBQztNQUNSLE9BQU8sRUFBRSxFQUFFO01BQ1gsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsQ0FBQztNQUNULEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLElBQXlCLEdBQ3RDO0l5QjNDQSxBekI2Q0QsNkJ5QjdDYSxDekI2Q2IsR0FBRztJeUI3Q0YsNkJBQVksQ3pCOENiLEdBQUcsQ0FBQztNQUNILFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsQ0FBQztNQUNULElBQUksRUFBRSxDQUFDO01BQ1AsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLFVBQVUsRUFBRSxLQUFLO01BQ2pCLFdBQVcsRUFBRSxvQkFBb0IsR0FDakM7SXlCeERBLEFBSUMsNkJBSlcsQUFJVixNQUFNLENBQUM7TUFDTixPQUFPLEVBQUUsRUFBRTtNQUNYLE9BQU8sRUFBRSxLQUFLO01BQ2QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSTtNQUNaLGdCQUFnQixFQUFFLHlCQUF5QjtNQUMzQyxPQUFPLEVBQUUsQ0FBQztNQUNWLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUMsR0FDUjtFQUdGLEFBQUQsc0JBQU0sQ0FBQztJQUNMLE1BQU0sRUFBRSxXQUFXLENBQUMsZUFBZTtJQUNuQyxPQUFPLEVBQUUsS0FBSyxHQUNmO0VBRUEsQUFBRCw4QkFBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsZ0JBQWdCLEVBQUUsYUFBYTtJQUMvQixLQUFLLEVBQUUsWUFBWSxHQWFwQjtJQXBCQSxBQVVDLDhCQVZZLEFBVVgsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxtQkFBbUI7TUFDM0IsU0FBUyxFQUFFLGdDQUFnQztNQUMzQyxnQkFBZ0IsRUFBRSxhQUFhO01BQy9CLEdBQUcsRUFBRSxzQ0FBc0M7TUFDM0MsSUFBSSxFQUFFLENBQUMsR0FDUjtFQUdGLEFBQUQsd0JBQVEsQ0FBQztJQUNQLFdBQVcsRUFBRSxtQkFBbUI7SUFDaEMsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixXQUFXLEVBQUUscUJBQXFCLEdBZ0JuQztJQW5CQSxBQUtDLHdCQUxNLEFBS0wsTUFBTSxDQUFDO01BQ04sT0FBTyxFQUFFLEVBQUU7TUFDWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixJQUFJLEVBQUUsQ0FBQztNQUNQLE9BQU8sRUFBRSxDQUFDO01BQ1YsR0FBRyxFQUFFLENBQUM7TUFDTixTQUFTLEVBQUUseUJBQXlCO01BQ3BDLGdCQUFnQixFQUFFLDBCQUEwQjtNQUM1QyxlQUFlLEVBQUUsT0FBTztNQUN4QixpQkFBaUIsRUFBRSxTQUFTO01BQzVCLG1CQUFtQixFQUFFLE1BQU07TUFDM0IsS0FBSyxFQUFFLG1CQUFtQjtNQUMxQixNQUFNLEVBQUUsbUJBQW1CLEdBQzVCO0VBR0YsQUFBRCw4QkFBYyxDQUFDO0lBQ2IsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixLQUFLLEVBQUUsWUFBWTtJQUNuQixXQUFXLEVBQUUsR0FBRztJQUNoQixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVBQUUsSUFBSSxHQUNqQiJ9 */
