@charset "UTF-8";
/* FITNESS */
@import url("https://fonts.googleapis.com/css?family=Righteous&subset=latin-ext");
/**
 * Foundation for Sites by ZURB
 * Version 6.4.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
  display: block; }

/**
     * Add the correct margin in IE 8.
     */
figure {
  margin: 1em 40px; }

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

/* 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 {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

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

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
  font-weight: inherit; }

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

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

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
  font-style: italic; }

/**
     * Add the correct background and color in IE 9-.
     */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
  display: inline-block; }

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

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

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

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

/**
     * 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,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding 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 {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
  display: inline-block; }

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

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

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #191919;
  font-family: "Zekton";
  font-weight: normal;
  line-height: 1.5;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }



button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.grid-container {
  max-width: 75rem;
  margin: 0 auto; }

  .mt-l {
    margin: 1rem auto;
  }

.grid-container-padded {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container-padded {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .grid-container-padded {
      padding-left: 0;
      padding-right: 0; } }

.grid-x, #about, .block .content, #services, #treners, #courses, #courses .title-box .content, #courses .course-box .content, #tour .media .content, .reveal .content, .reveal .content-wrapper, .price-lists {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell, #services .title-box, #services .service-box, .quote-block, #treners .title-box, #treners .trener-box, #courses .title-box, #courses .course-box, .reveal .image, #article-list .article {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto, #services .auto.title-box, #services .title-box.quote-block, #services .auto.service-box, #services .service-box.quote-block, .quote-block, #treners .auto.title-box, #treners .title-box.quote-block, #treners .auto.trener-box, #treners .trener-box.quote-block, #courses .auto.title-box, #courses .title-box.quote-block, #courses .auto.course-box, #courses .course-box.quote-block, .reveal .auto.image, .reveal .image.quote-block, #article-list .auto.article, #article-list .article.quote-block {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink, #services .shrink.title-box, #services .shrink.service-box, .shrink.quote-block, #treners .shrink.title-box, #treners .shrink.trener-box, #courses .shrink.title-box, #courses .shrink.course-box, .reveal .shrink.image, #article-list .shrink.article {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto, #about > .auto, .block .content > .auto, #services > .auto, #treners > .auto, #courses > .auto, #courses .title-box .content > .auto, #courses .course-box .content > .auto, #tour .media .content > .auto, .reveal .content > .auto, .reveal .content-wrapper > .auto, .price-lists > .auto, .grid-x > .quote-block, #about > .quote-block, .block .content > .quote-block, #services > .quote-block, #treners > .quote-block, #courses > .quote-block, #courses .title-box .content > .quote-block, #courses .course-box .content > .quote-block, #tour .media .content > .quote-block, .reveal .content > .quote-block, .reveal .content-wrapper > .quote-block, .price-lists > .quote-block {
  width: auto; }

.grid-x > .shrink, #about > .shrink, .block .content > .shrink, #services > .shrink, #treners > .shrink, #courses > .shrink, #courses .title-box .content > .shrink, #courses .course-box .content > .shrink, #tour .media .content > .shrink, .reveal .content > .shrink, .reveal .content-wrapper > .shrink, .price-lists > .shrink {
  width: auto; }

.grid-x > small-shrink, #about > small-shrink, .block .content > small-shrink, #services > small-shrink, #treners > small-shrink, #courses > small-shrink, #courses .title-box .content > small-shrink, #courses .course-box .content > small-shrink, #tour .media .content > small-shrink, .reveal .content > small-shrink, .reveal .content-wrapper > small-shrink, .price-lists > small-shrink, .grid-x > small-full, #about > small-full, .block .content > small-full, #services > small-full, #treners > small-full, #courses > small-full, #courses .title-box .content > small-full, #courses .course-box .content > small-full, #tour .media .content > small-full, .reveal .content > small-full, .reveal .content-wrapper > small-full, .price-lists > small-full, .grid-x > small-1, #about > small-1, .block .content > small-1, #services > small-1, #treners > small-1, #courses > small-1, #courses .title-box .content > small-1, #courses .course-box .content > small-1, #tour .media .content > small-1, .reveal .content > small-1, .reveal .content-wrapper > small-1, .price-lists > small-1, .grid-x > small-2, #about > small-2, .block .content > small-2, #services > small-2, #treners > small-2, #courses > small-2, #courses .title-box .content > small-2, #courses .course-box .content > small-2, #tour .media .content > small-2, .reveal .content > small-2, .reveal .content-wrapper > small-2, .price-lists > small-2, .grid-x > small-3, #about > small-3, .block .content > small-3, #services > small-3, #treners > small-3, #courses > small-3, #courses .title-box .content > small-3, #courses .course-box .content > small-3, #tour .media .content > small-3, .reveal .content > small-3, .reveal .content-wrapper > small-3, .price-lists > small-3, .grid-x > small-4, #about > small-4, .block .content > small-4, #services > small-4, #treners > small-4, #courses > small-4, #courses .title-box .content > small-4, #courses .course-box .content > small-4, #tour .media .content > small-4, .reveal .content > small-4, .reveal .content-wrapper > small-4, .price-lists > small-4, .grid-x > small-5, #about > small-5, .block .content > small-5, #services > small-5, #treners > small-5, #courses > small-5, #courses .title-box .content > small-5, #courses .course-box .content > small-5, #tour .media .content > small-5, .reveal .content > small-5, .reveal .content-wrapper > small-5, .price-lists > small-5, .grid-x > small-6, #about > small-6, .block .content > small-6, #services > small-6, #treners > small-6, #courses > small-6, #courses .title-box .content > small-6, #courses .course-box .content > small-6, #tour .media .content > small-6, .reveal .content > small-6, .reveal .content-wrapper > small-6, .price-lists > small-6, .grid-x > small-7, #about > small-7, .block .content > small-7, #services > small-7, #treners > small-7, #courses > small-7, #courses .title-box .content > small-7, #courses .course-box .content > small-7, #tour .media .content > small-7, .reveal .content > small-7, .reveal .content-wrapper > small-7, .price-lists > small-7, .grid-x > small-8, #about > small-8, .block .content > small-8, #services > small-8, #treners > small-8, #courses > small-8, #courses .title-box .content > small-8, #courses .course-box .content > small-8, #tour .media .content > small-8, .reveal .content > small-8, .reveal .content-wrapper > small-8, .price-lists > small-8, .grid-x > small-9, #about > small-9, .block .content > small-9, #services > small-9, #treners > small-9, #courses > small-9, #courses .title-box .content > small-9, #courses .course-box .content > small-9, #tour .media .content > small-9, .reveal .content > small-9, .reveal .content-wrapper > small-9, .price-lists > small-9, .grid-x > small-10, #about > small-10, .block .content > small-10, #services > small-10, #treners > small-10, #courses > small-10, #courses .title-box .content > small-10, #courses .course-box .content > small-10, #tour .media .content > small-10, .reveal .content > small-10, .reveal .content-wrapper > small-10, .price-lists > small-10, .grid-x > small-11, #about > small-11, .block .content > small-11, #services > small-11, #treners > small-11, #courses > small-11, #courses .title-box .content > small-11, #courses .course-box .content > small-11, #tour .media .content > small-11, .reveal .content > small-11, .reveal .content-wrapper > small-11, .price-lists > small-11, .grid-x > small-12, #about > small-12, .block .content > small-12, #services > small-12, #treners > small-12, #courses > small-12, #courses .title-box .content > small-12, #courses .course-box .content > small-12, #tour .media .content > small-12, .reveal .content > small-12, .reveal .content-wrapper > small-12, .price-lists > small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > medium-shrink, #about > medium-shrink, .block .content > medium-shrink, #services > medium-shrink, #treners > medium-shrink, #courses > medium-shrink, #courses .title-box .content > medium-shrink, #courses .course-box .content > medium-shrink, #tour .media .content > medium-shrink, .reveal .content > medium-shrink, .reveal .content-wrapper > medium-shrink, .price-lists > medium-shrink, .grid-x > medium-full, #about > medium-full, .block .content > medium-full, #services > medium-full, #treners > medium-full, #courses > medium-full, #courses .title-box .content > medium-full, #courses .course-box .content > medium-full, #tour .media .content > medium-full, .reveal .content > medium-full, .reveal .content-wrapper > medium-full, .price-lists > medium-full, .grid-x > medium-1, #about > medium-1, .block .content > medium-1, #services > medium-1, #treners > medium-1, #courses > medium-1, #courses .title-box .content > medium-1, #courses .course-box .content > medium-1, #tour .media .content > medium-1, .reveal .content > medium-1, .reveal .content-wrapper > medium-1, .price-lists > medium-1, .grid-x > medium-2, #about > medium-2, .block .content > medium-2, #services > medium-2, #treners > medium-2, #courses > medium-2, #courses .title-box .content > medium-2, #courses .course-box .content > medium-2, #tour .media .content > medium-2, .reveal .content > medium-2, .reveal .content-wrapper > medium-2, .price-lists > medium-2, .grid-x > medium-3, #about > medium-3, .block .content > medium-3, #services > medium-3, #treners > medium-3, #courses > medium-3, #courses .title-box .content > medium-3, #courses .course-box .content > medium-3, #tour .media .content > medium-3, .reveal .content > medium-3, .reveal .content-wrapper > medium-3, .price-lists > medium-3, .grid-x > medium-4, #about > medium-4, .block .content > medium-4, #services > medium-4, #treners > medium-4, #courses > medium-4, #courses .title-box .content > medium-4, #courses .course-box .content > medium-4, #tour .media .content > medium-4, .reveal .content > medium-4, .reveal .content-wrapper > medium-4, .price-lists > medium-4, .grid-x > medium-5, #about > medium-5, .block .content > medium-5, #services > medium-5, #treners > medium-5, #courses > medium-5, #courses .title-box .content > medium-5, #courses .course-box .content > medium-5, #tour .media .content > medium-5, .reveal .content > medium-5, .reveal .content-wrapper > medium-5, .price-lists > medium-5, .grid-x > medium-6, #about > medium-6, .block .content > medium-6, #services > medium-6, #treners > medium-6, #courses > medium-6, #courses .title-box .content > medium-6, #courses .course-box .content > medium-6, #tour .media .content > medium-6, .reveal .content > medium-6, .reveal .content-wrapper > medium-6, .price-lists > medium-6, .grid-x > medium-7, #about > medium-7, .block .content > medium-7, #services > medium-7, #treners > medium-7, #courses > medium-7, #courses .title-box .content > medium-7, #courses .course-box .content > medium-7, #tour .media .content > medium-7, .reveal .content > medium-7, .reveal .content-wrapper > medium-7, .price-lists > medium-7, .grid-x > medium-8, #about > medium-8, .block .content > medium-8, #services > medium-8, #treners > medium-8, #courses > medium-8, #courses .title-box .content > medium-8, #courses .course-box .content > medium-8, #tour .media .content > medium-8, .reveal .content > medium-8, .reveal .content-wrapper > medium-8, .price-lists > medium-8, .grid-x > medium-9, #about > medium-9, .block .content > medium-9, #services > medium-9, #treners > medium-9, #courses > medium-9, #courses .title-box .content > medium-9, #courses .course-box .content > medium-9, #tour .media .content > medium-9, .reveal .content > medium-9, .reveal .content-wrapper > medium-9, .price-lists > medium-9, .grid-x > medium-10, #about > medium-10, .block .content > medium-10, #services > medium-10, #treners > medium-10, #courses > medium-10, #courses .title-box .content > medium-10, #courses .course-box .content > medium-10, #tour .media .content > medium-10, .reveal .content > medium-10, .reveal .content-wrapper > medium-10, .price-lists > medium-10, .grid-x > medium-11, #about > medium-11, .block .content > medium-11, #services > medium-11, #treners > medium-11, #courses > medium-11, #courses .title-box .content > medium-11, #courses .course-box .content > medium-11, #tour .media .content > medium-11, .reveal .content > medium-11, .reveal .content-wrapper > medium-11, .price-lists > medium-11, .grid-x > medium-12, #about > medium-12, .block .content > medium-12, #services > medium-12, #treners > medium-12, #courses > medium-12, #courses .title-box .content > medium-12, #courses .course-box .content > medium-12, #tour .media .content > medium-12, .reveal .content > medium-12, .reveal .content-wrapper > medium-12, .price-lists > medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > large-shrink, #about > large-shrink, .block .content > large-shrink, #services > large-shrink, #treners > large-shrink, #courses > large-shrink, #courses .title-box .content > large-shrink, #courses .course-box .content > large-shrink, #tour .media .content > large-shrink, .reveal .content > large-shrink, .reveal .content-wrapper > large-shrink, .price-lists > large-shrink, .grid-x > large-full, #about > large-full, .block .content > large-full, #services > large-full, #treners > large-full, #courses > large-full, #courses .title-box .content > large-full, #courses .course-box .content > large-full, #tour .media .content > large-full, .reveal .content > large-full, .reveal .content-wrapper > large-full, .price-lists > large-full, .grid-x > large-1, #about > large-1, .block .content > large-1, #services > large-1, #treners > large-1, #courses > large-1, #courses .title-box .content > large-1, #courses .course-box .content > large-1, #tour .media .content > large-1, .reveal .content > large-1, .reveal .content-wrapper > large-1, .price-lists > large-1, .grid-x > large-2, #about > large-2, .block .content > large-2, #services > large-2, #treners > large-2, #courses > large-2, #courses .title-box .content > large-2, #courses .course-box .content > large-2, #tour .media .content > large-2, .reveal .content > large-2, .reveal .content-wrapper > large-2, .price-lists > large-2, .grid-x > large-3, #about > large-3, .block .content > large-3, #services > large-3, #treners > large-3, #courses > large-3, #courses .title-box .content > large-3, #courses .course-box .content > large-3, #tour .media .content > large-3, .reveal .content > large-3, .reveal .content-wrapper > large-3, .price-lists > large-3, .grid-x > large-4, #about > large-4, .block .content > large-4, #services > large-4, #treners > large-4, #courses > large-4, #courses .title-box .content > large-4, #courses .course-box .content > large-4, #tour .media .content > large-4, .reveal .content > large-4, .reveal .content-wrapper > large-4, .price-lists > large-4, .grid-x > large-5, #about > large-5, .block .content > large-5, #services > large-5, #treners > large-5, #courses > large-5, #courses .title-box .content > large-5, #courses .course-box .content > large-5, #tour .media .content > large-5, .reveal .content > large-5, .reveal .content-wrapper > large-5, .price-lists > large-5, .grid-x > large-6, #about > large-6, .block .content > large-6, #services > large-6, #treners > large-6, #courses > large-6, #courses .title-box .content > large-6, #courses .course-box .content > large-6, #tour .media .content > large-6, .reveal .content > large-6, .reveal .content-wrapper > large-6, .price-lists > large-6, .grid-x > large-7, #about > large-7, .block .content > large-7, #services > large-7, #treners > large-7, #courses > large-7, #courses .title-box .content > large-7, #courses .course-box .content > large-7, #tour .media .content > large-7, .reveal .content > large-7, .reveal .content-wrapper > large-7, .price-lists > large-7, .grid-x > large-8, #about > large-8, .block .content > large-8, #services > large-8, #treners > large-8, #courses > large-8, #courses .title-box .content > large-8, #courses .course-box .content > large-8, #tour .media .content > large-8, .reveal .content > large-8, .reveal .content-wrapper > large-8, .price-lists > large-8, .grid-x > large-9, #about > large-9, .block .content > large-9, #services > large-9, #treners > large-9, #courses > large-9, #courses .title-box .content > large-9, #courses .course-box .content > large-9, #tour .media .content > large-9, .reveal .content > large-9, .reveal .content-wrapper > large-9, .price-lists > large-9, .grid-x > large-10, #about > large-10, .block .content > large-10, #services > large-10, #treners > large-10, #courses > large-10, #courses .title-box .content > large-10, #courses .course-box .content > large-10, #tour .media .content > large-10, .reveal .content > large-10, .reveal .content-wrapper > large-10, .price-lists > large-10, .grid-x > large-11, #about > large-11, .block .content > large-11, #services > large-11, #treners > large-11, #courses > large-11, #courses .title-box .content > large-11, #courses .course-box .content > large-11, #tour .media .content > large-11, .reveal .content > large-11, .reveal .content-wrapper > large-11, .price-lists > large-11, .grid-x > large-12, #about > large-12, .block .content > large-12, #services > large-12, #treners > large-12, #courses > large-12, #courses .title-box .content > large-12, #courses .course-box .content > large-12, #tour .media .content > large-12, .reveal .content > large-12, .reveal .content-wrapper > large-12, .price-lists > large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 75em) {
  .grid-x > xlarge-shrink, #about > xlarge-shrink, .block .content > xlarge-shrink, #services > xlarge-shrink, #treners > xlarge-shrink, #courses > xlarge-shrink, #courses .title-box .content > xlarge-shrink, #courses .course-box .content > xlarge-shrink, #tour .media .content > xlarge-shrink, .reveal .content > xlarge-shrink, .reveal .content-wrapper > xlarge-shrink, .price-lists > xlarge-shrink, .grid-x > xlarge-full, #about > xlarge-full, .block .content > xlarge-full, #services > xlarge-full, #treners > xlarge-full, #courses > xlarge-full, #courses .title-box .content > xlarge-full, #courses .course-box .content > xlarge-full, #tour .media .content > xlarge-full, .reveal .content > xlarge-full, .reveal .content-wrapper > xlarge-full, .price-lists > xlarge-full, .grid-x > xlarge-1, #about > xlarge-1, .block .content > xlarge-1, #services > xlarge-1, #treners > xlarge-1, #courses > xlarge-1, #courses .title-box .content > xlarge-1, #courses .course-box .content > xlarge-1, #tour .media .content > xlarge-1, .reveal .content > xlarge-1, .reveal .content-wrapper > xlarge-1, .price-lists > xlarge-1, .grid-x > xlarge-2, #about > xlarge-2, .block .content > xlarge-2, #services > xlarge-2, #treners > xlarge-2, #courses > xlarge-2, #courses .title-box .content > xlarge-2, #courses .course-box .content > xlarge-2, #tour .media .content > xlarge-2, .reveal .content > xlarge-2, .reveal .content-wrapper > xlarge-2, .price-lists > xlarge-2, .grid-x > xlarge-3, #about > xlarge-3, .block .content > xlarge-3, #services > xlarge-3, #treners > xlarge-3, #courses > xlarge-3, #courses .title-box .content > xlarge-3, #courses .course-box .content > xlarge-3, #tour .media .content > xlarge-3, .reveal .content > xlarge-3, .reveal .content-wrapper > xlarge-3, .price-lists > xlarge-3, .grid-x > xlarge-4, #about > xlarge-4, .block .content > xlarge-4, #services > xlarge-4, #treners > xlarge-4, #courses > xlarge-4, #courses .title-box .content > xlarge-4, #courses .course-box .content > xlarge-4, #tour .media .content > xlarge-4, .reveal .content > xlarge-4, .reveal .content-wrapper > xlarge-4, .price-lists > xlarge-4, .grid-x > xlarge-5, #about > xlarge-5, .block .content > xlarge-5, #services > xlarge-5, #treners > xlarge-5, #courses > xlarge-5, #courses .title-box .content > xlarge-5, #courses .course-box .content > xlarge-5, #tour .media .content > xlarge-5, .reveal .content > xlarge-5, .reveal .content-wrapper > xlarge-5, .price-lists > xlarge-5, .grid-x > xlarge-6, #about > xlarge-6, .block .content > xlarge-6, #services > xlarge-6, #treners > xlarge-6, #courses > xlarge-6, #courses .title-box .content > xlarge-6, #courses .course-box .content > xlarge-6, #tour .media .content > xlarge-6, .reveal .content > xlarge-6, .reveal .content-wrapper > xlarge-6, .price-lists > xlarge-6, .grid-x > xlarge-7, #about > xlarge-7, .block .content > xlarge-7, #services > xlarge-7, #treners > xlarge-7, #courses > xlarge-7, #courses .title-box .content > xlarge-7, #courses .course-box .content > xlarge-7, #tour .media .content > xlarge-7, .reveal .content > xlarge-7, .reveal .content-wrapper > xlarge-7, .price-lists > xlarge-7, .grid-x > xlarge-8, #about > xlarge-8, .block .content > xlarge-8, #services > xlarge-8, #treners > xlarge-8, #courses > xlarge-8, #courses .title-box .content > xlarge-8, #courses .course-box .content > xlarge-8, #tour .media .content > xlarge-8, .reveal .content > xlarge-8, .reveal .content-wrapper > xlarge-8, .price-lists > xlarge-8, .grid-x > xlarge-9, #about > xlarge-9, .block .content > xlarge-9, #services > xlarge-9, #treners > xlarge-9, #courses > xlarge-9, #courses .title-box .content > xlarge-9, #courses .course-box .content > xlarge-9, #tour .media .content > xlarge-9, .reveal .content > xlarge-9, .reveal .content-wrapper > xlarge-9, .price-lists > xlarge-9, .grid-x > xlarge-10, #about > xlarge-10, .block .content > xlarge-10, #services > xlarge-10, #treners > xlarge-10, #courses > xlarge-10, #courses .title-box .content > xlarge-10, #courses .course-box .content > xlarge-10, #tour .media .content > xlarge-10, .reveal .content > xlarge-10, .reveal .content-wrapper > xlarge-10, .price-lists > xlarge-10, .grid-x > xlarge-11, #about > xlarge-11, .block .content > xlarge-11, #services > xlarge-11, #treners > xlarge-11, #courses > xlarge-11, #courses .title-box .content > xlarge-11, #courses .course-box .content > xlarge-11, #tour .media .content > xlarge-11, .reveal .content > xlarge-11, .reveal .content-wrapper > xlarge-11, .price-lists > xlarge-11, .grid-x > xlarge-12, #about > xlarge-12, .block .content > xlarge-12, #services > xlarge-12, #treners > xlarge-12, #courses > xlarge-12, #courses .title-box .content > xlarge-12, #courses .course-box .content > xlarge-12, #tour .media .content > xlarge-12, .reveal .content > xlarge-12, .reveal .content-wrapper > xlarge-12, .price-lists > xlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 90em) {
  .grid-x > xxlarge-shrink, #about > xxlarge-shrink, .block .content > xxlarge-shrink, #services > xxlarge-shrink, #treners > xxlarge-shrink, #courses > xxlarge-shrink, #courses .title-box .content > xxlarge-shrink, #courses .course-box .content > xxlarge-shrink, #tour .media .content > xxlarge-shrink, .reveal .content > xxlarge-shrink, .reveal .content-wrapper > xxlarge-shrink, .price-lists > xxlarge-shrink, .grid-x > xxlarge-full, #about > xxlarge-full, .block .content > xxlarge-full, #services > xxlarge-full, #treners > xxlarge-full, #courses > xxlarge-full, #courses .title-box .content > xxlarge-full, #courses .course-box .content > xxlarge-full, #tour .media .content > xxlarge-full, .reveal .content > xxlarge-full, .reveal .content-wrapper > xxlarge-full, .price-lists > xxlarge-full, .grid-x > xxlarge-1, #about > xxlarge-1, .block .content > xxlarge-1, #services > xxlarge-1, #treners > xxlarge-1, #courses > xxlarge-1, #courses .title-box .content > xxlarge-1, #courses .course-box .content > xxlarge-1, #tour .media .content > xxlarge-1, .reveal .content > xxlarge-1, .reveal .content-wrapper > xxlarge-1, .price-lists > xxlarge-1, .grid-x > xxlarge-2, #about > xxlarge-2, .block .content > xxlarge-2, #services > xxlarge-2, #treners > xxlarge-2, #courses > xxlarge-2, #courses .title-box .content > xxlarge-2, #courses .course-box .content > xxlarge-2, #tour .media .content > xxlarge-2, .reveal .content > xxlarge-2, .reveal .content-wrapper > xxlarge-2, .price-lists > xxlarge-2, .grid-x > xxlarge-3, #about > xxlarge-3, .block .content > xxlarge-3, #services > xxlarge-3, #treners > xxlarge-3, #courses > xxlarge-3, #courses .title-box .content > xxlarge-3, #courses .course-box .content > xxlarge-3, #tour .media .content > xxlarge-3, .reveal .content > xxlarge-3, .reveal .content-wrapper > xxlarge-3, .price-lists > xxlarge-3, .grid-x > xxlarge-4, #about > xxlarge-4, .block .content > xxlarge-4, #services > xxlarge-4, #treners > xxlarge-4, #courses > xxlarge-4, #courses .title-box .content > xxlarge-4, #courses .course-box .content > xxlarge-4, #tour .media .content > xxlarge-4, .reveal .content > xxlarge-4, .reveal .content-wrapper > xxlarge-4, .price-lists > xxlarge-4, .grid-x > xxlarge-5, #about > xxlarge-5, .block .content > xxlarge-5, #services > xxlarge-5, #treners > xxlarge-5, #courses > xxlarge-5, #courses .title-box .content > xxlarge-5, #courses .course-box .content > xxlarge-5, #tour .media .content > xxlarge-5, .reveal .content > xxlarge-5, .reveal .content-wrapper > xxlarge-5, .price-lists > xxlarge-5, .grid-x > xxlarge-6, #about > xxlarge-6, .block .content > xxlarge-6, #services > xxlarge-6, #treners > xxlarge-6, #courses > xxlarge-6, #courses .title-box .content > xxlarge-6, #courses .course-box .content > xxlarge-6, #tour .media .content > xxlarge-6, .reveal .content > xxlarge-6, .reveal .content-wrapper > xxlarge-6, .price-lists > xxlarge-6, .grid-x > xxlarge-7, #about > xxlarge-7, .block .content > xxlarge-7, #services > xxlarge-7, #treners > xxlarge-7, #courses > xxlarge-7, #courses .title-box .content > xxlarge-7, #courses .course-box .content > xxlarge-7, #tour .media .content > xxlarge-7, .reveal .content > xxlarge-7, .reveal .content-wrapper > xxlarge-7, .price-lists > xxlarge-7, .grid-x > xxlarge-8, #about > xxlarge-8, .block .content > xxlarge-8, #services > xxlarge-8, #treners > xxlarge-8, #courses > xxlarge-8, #courses .title-box .content > xxlarge-8, #courses .course-box .content > xxlarge-8, #tour .media .content > xxlarge-8, .reveal .content > xxlarge-8, .reveal .content-wrapper > xxlarge-8, .price-lists > xxlarge-8, .grid-x > xxlarge-9, #about > xxlarge-9, .block .content > xxlarge-9, #services > xxlarge-9, #treners > xxlarge-9, #courses > xxlarge-9, #courses .title-box .content > xxlarge-9, #courses .course-box .content > xxlarge-9, #tour .media .content > xxlarge-9, .reveal .content > xxlarge-9, .reveal .content-wrapper > xxlarge-9, .price-lists > xxlarge-9, .grid-x > xxlarge-10, #about > xxlarge-10, .block .content > xxlarge-10, #services > xxlarge-10, #treners > xxlarge-10, #courses > xxlarge-10, #courses .title-box .content > xxlarge-10, #courses .course-box .content > xxlarge-10, #tour .media .content > xxlarge-10, .reveal .content > xxlarge-10, .reveal .content-wrapper > xxlarge-10, .price-lists > xxlarge-10, .grid-x > xxlarge-11, #about > xxlarge-11, .block .content > xxlarge-11, #services > xxlarge-11, #treners > xxlarge-11, #courses > xxlarge-11, #courses .title-box .content > xxlarge-11, #courses .course-box .content > xxlarge-11, #tour .media .content > xxlarge-11, .reveal .content > xxlarge-11, .reveal .content-wrapper > xxlarge-11, .price-lists > xxlarge-11, .grid-x > xxlarge-12, #about > xxlarge-12, .block .content > xxlarge-12, #services > xxlarge-12, #treners > xxlarge-12, #courses > xxlarge-12, #courses .title-box .content > xxlarge-12, #courses .course-box .content > xxlarge-12, #tour .media .content > xxlarge-12, .reveal .content > xxlarge-12, .reveal .content-wrapper > xxlarge-12, .price-lists > xxlarge-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

.grid-x > .small-1, #about > .small-1, .block .content > .small-1, #services > .small-1, #treners > .small-1, #courses > .small-1, #courses .title-box .content > .small-1, #courses .course-box .content > .small-1, #tour .media .content > .small-1, .reveal .content > .small-1, .reveal .content-wrapper > .small-1, .price-lists > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2, #about > .small-2, .block .content > .small-2, #services > .small-2, #treners > .small-2, #courses > .small-2, #courses .title-box .content > .small-2, #courses .course-box .content > .small-2, #tour .media .content > .small-2, .reveal .content > .small-2, .reveal .content-wrapper > .small-2, .price-lists > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3, #about > .small-3, .block .content > .small-3, #services > .small-3, #treners > .small-3, #courses > .small-3, #courses .title-box .content > .small-3, #courses .course-box .content > .small-3, #tour .media .content > .small-3, .reveal .content > .small-3, .reveal .content-wrapper > .small-3, .price-lists > .small-3 {
  width: 25%; }

.grid-x > .small-4, #about > .small-4, .block .content > .small-4, #services > .small-4, #treners > .small-4, #courses > .small-4, #courses .title-box .content > .small-4, #courses .course-box .content > .small-4, #tour .media .content > .small-4, .reveal .content > .small-4, .reveal .content-wrapper > .small-4, .price-lists > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5, #about > .small-5, .block .content > .small-5, #services > .small-5, #treners > .small-5, #courses > .small-5, #courses .title-box .content > .small-5, #courses .course-box .content > .small-5, #tour .media .content > .small-5, .reveal .content > .small-5, .reveal .content-wrapper > .small-5, .price-lists > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6, #about > .small-6, .block .content > .small-6, #services > .small-6, #treners > .small-6, #courses > .small-6, #courses .title-box .content > .small-6, #courses .course-box .content > .small-6, #tour .media .content > .small-6, .reveal .content > .small-6, .reveal .content-wrapper > .small-6, .price-lists > .small-6 {
  width: 50%; }

.grid-x > .small-7, #about > .small-7, .block .content > .small-7, #services > .small-7, #treners > .small-7, #courses > .small-7, #courses .title-box .content > .small-7, #courses .course-box .content > .small-7, #tour .media .content > .small-7, .reveal .content > .small-7, .reveal .content-wrapper > .small-7, .price-lists > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8, #about > .small-8, .block .content > .small-8, #services > .small-8, #treners > .small-8, #courses > .small-8, #courses .title-box .content > .small-8, #courses .course-box .content > .small-8, #tour .media .content > .small-8, .reveal .content > .small-8, .reveal .content-wrapper > .small-8, .price-lists > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9, #about > .small-9, .block .content > .small-9, #services > .small-9, #treners > .small-9, #courses > .small-9, #courses .title-box .content > .small-9, #courses .course-box .content > .small-9, #tour .media .content > .small-9, .reveal .content > .small-9, .reveal .content-wrapper > .small-9, .price-lists > .small-9 {
  width: 75%; }

.grid-x > .small-10, #about > .small-10, .block .content > .small-10, #services > .small-10, #treners > .small-10, #courses > .small-10, #courses .title-box .content > .small-10, #courses .course-box .content > .small-10, #tour .media .content > .small-10, .reveal .content > .small-10, .reveal .content-wrapper > .small-10, .price-lists > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11, #about > .small-11, .block .content > .small-11, #services > .small-11, #treners > .small-11, #courses > .small-11, #courses .title-box .content > .small-11, #courses .course-box .content > .small-11, #tour .media .content > .small-11, .reveal .content > .small-11, .reveal .content-wrapper > .small-11, .price-lists > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12, #about > .small-12, .block .content > .small-12, #services > .small-12, #treners > .small-12, #courses > .small-12, #courses .title-box .content > .small-12, #courses .course-box .content > .small-12, #tour .media .content > .small-12, .reveal .content > .small-12, .reveal .content-wrapper > .small-12, .price-lists > .small-12, #about .grid-x > .gallery, #about > .gallery, .block #about .content > .gallery, #about .block .content > .gallery, #about #services > .gallery, #about #treners > .gallery, #about #courses > .gallery, #courses .title-box #about .content > .gallery, #about #courses .title-box .content > .gallery, #courses .course-box #about .content > .gallery, #about #courses .course-box .content > .gallery, #tour .media #about .content > .gallery, #about #tour .media .content > .gallery, .reveal #about .content > .gallery, #about .reveal .content > .gallery, .reveal #about .content-wrapper > .gallery, #about .reveal .content-wrapper > .gallery, #about .price-lists > .gallery, #services .grid-x > .title-box, #services #about > .title-box, .block #services .content > .title-box, #services .block .content > .title-box, #services > .title-box, #services #treners > .title-box, #services #courses > .title-box, #courses .title-box #services .content > .title-box, #services #courses .title-box .content > .title-box, #courses .course-box #services .content > .title-box, #services #courses .course-box .content > .title-box, #tour .media #services .content > .title-box, #services #tour .media .content > .title-box, .reveal #services .content > .title-box, #services .reveal .content > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .price-lists > .title-box, #services .grid-x > .service-box, #services #about > .service-box, .block #services .content > .service-box, #services .block .content > .service-box, #services > .service-box, #services #treners > .service-box, #services #courses > .service-box, #courses .title-box #services .content > .service-box, #services #courses .title-box .content > .service-box, #courses .course-box #services .content > .service-box, #services #courses .course-box .content > .service-box, #tour .media #services .content > .service-box, #services #tour .media .content > .service-box, .reveal #services .content > .service-box, #services .reveal .content > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, #services .price-lists > .service-box, #treners .grid-x > .title-box, #treners #about > .title-box, .block #treners .content > .title-box, #treners .block .content > .title-box, #treners #services > .title-box, #treners > .title-box, #treners #courses > .title-box, #courses .title-box #treners .content > .title-box, #treners #courses .title-box .content > .title-box, #courses .course-box #treners .content > .title-box, #treners #courses .course-box .content > .title-box, #tour .media #treners .content > .title-box, #treners #tour .media .content > .title-box, .reveal #treners .content > .title-box, #treners .reveal .content > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .price-lists > .title-box, #treners .grid-x > .trener-box, #treners #about > .trener-box, .block #treners .content > .trener-box, #treners .block .content > .trener-box, #treners #services > .trener-box, #treners > .trener-box, #treners #courses > .trener-box, #courses .title-box #treners .content > .trener-box, #treners #courses .title-box .content > .trener-box, #courses .course-box #treners .content > .trener-box, #treners #courses .course-box .content > .trener-box, #tour .media #treners .content > .trener-box, #treners #tour .media .content > .trener-box, .reveal #treners .content > .trener-box, #treners .reveal .content > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #treners .price-lists > .trener-box, #courses .grid-x > .title-box, #courses #about > .title-box, .block #courses .content > .title-box, #courses .block .content > .title-box, #courses #services > .title-box, #courses #treners > .title-box, #courses > .title-box, #courses .title-box .content > .title-box, #courses .course-box .content > .title-box, #tour .media #courses .content > .title-box, #courses #tour .media .content > .title-box, .reveal #courses .content > .title-box, #courses .reveal .content > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .price-lists > .title-box, #courses .grid-x > .course-box, #courses #about > .course-box, .block #courses .content > .course-box, #courses .block .content > .course-box, #courses #services > .course-box, #courses #treners > .course-box, #courses > .course-box, #courses .title-box .content > .course-box, #courses .course-box .content > .course-box, #tour .media #courses .content > .course-box, #courses #tour .media .content > .course-box, .reveal #courses .content > .course-box, #courses .reveal .content > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, #courses .price-lists > .course-box, .grid-x > .cell.title, #about > .cell.title, .block .content > .cell.title, #services > .cell.title, #treners > .cell.title, #courses > .cell.title, #courses .title-box .content > .cell.title, #courses .course-box .content > .cell.title, #tour .media .content > .cell.title, .reveal .content > .cell.title, .reveal .content-wrapper > .cell.title, .price-lists > .cell.title, #services .grid-x > .title.title-box, #services #about > .title.title-box, .block #services .content > .title.title-box, #services .block .content > .title.title-box, #services > .title.title-box, #services #treners > .title.title-box, #services #courses > .title.title-box, #courses .title-box #services .content > .title.title-box, #services #courses .title-box .content > .title.title-box, #courses .course-box #services .content > .title.title-box, #services #courses .course-box .content > .title.title-box, #tour .media #services .content > .title.title-box, #services #tour .media .content > .title.title-box, .reveal #services .content > .title.title-box, #services .reveal .content > .title.title-box, .reveal #services .content-wrapper > .title.title-box, #services .reveal .content-wrapper > .title.title-box, #services .price-lists > .title.title-box, #services .grid-x > .title.service-box, #services #about > .title.service-box, .block #services .content > .title.service-box, #services .block .content > .title.service-box, #services > .title.service-box, #services #treners > .title.service-box, #services #courses > .title.service-box, #courses .title-box #services .content > .title.service-box, #services #courses .title-box .content > .title.service-box, #courses .course-box #services .content > .title.service-box, #services #courses .course-box .content > .title.service-box, #tour .media #services .content > .title.service-box, #services #tour .media .content > .title.service-box, .reveal #services .content > .title.service-box, #services .reveal .content > .title.service-box, .reveal #services .content-wrapper > .title.service-box, #services .reveal .content-wrapper > .title.service-box, #services .price-lists > .title.service-box, .grid-x > .title.quote-block, #about > .title.quote-block, .block .content > .title.quote-block, #services > .title.quote-block, #treners > .title.quote-block, #courses > .title.quote-block, #courses .title-box .content > .title.quote-block, #courses .course-box .content > .title.quote-block, #tour .media .content > .title.quote-block, .reveal .content > .title.quote-block, .reveal .content-wrapper > .title.quote-block, .price-lists > .title.quote-block, #treners .grid-x > .title.title-box, #treners #about > .title.title-box, .block #treners .content > .title.title-box, #treners .block .content > .title.title-box, #treners #services > .title.title-box, #treners > .title.title-box, #treners #courses > .title.title-box, #courses .title-box #treners .content > .title.title-box, #treners #courses .title-box .content > .title.title-box, #courses .course-box #treners .content > .title.title-box, #treners #courses .course-box .content > .title.title-box, #tour .media #treners .content > .title.title-box, #treners #tour .media .content > .title.title-box, .reveal #treners .content > .title.title-box, #treners .reveal .content > .title.title-box, .reveal #treners .content-wrapper > .title.title-box, #treners .reveal .content-wrapper > .title.title-box, #treners .price-lists > .title.title-box, #treners .grid-x > .title.trener-box, #treners #about > .title.trener-box, .block #treners .content > .title.trener-box, #treners .block .content > .title.trener-box, #treners #services > .title.trener-box, #treners > .title.trener-box, #treners #courses > .title.trener-box, #courses .title-box #treners .content > .title.trener-box, #treners #courses .title-box .content > .title.trener-box, #courses .course-box #treners .content > .title.trener-box, #treners #courses .course-box .content > .title.trener-box, #tour .media #treners .content > .title.trener-box, #treners #tour .media .content > .title.trener-box, .reveal #treners .content > .title.trener-box, #treners .reveal .content > .title.trener-box, .reveal #treners .content-wrapper > .title.trener-box, #treners .reveal .content-wrapper > .title.trener-box, #treners .price-lists > .title.trener-box, #courses .grid-x > .title.title-box, #courses #about > .title.title-box, .block #courses .content > .title.title-box, #courses .block .content > .title.title-box, #courses #services > .title.title-box, #courses #treners > .title.title-box, #courses > .title.title-box, #courses .title-box .content > .title.title-box, #courses .course-box .content > .title.title-box, #tour .media #courses .content > .title.title-box, #courses #tour .media .content > .title.title-box, .reveal #courses .content > .title.title-box, #courses .reveal .content > .title.title-box, .reveal #courses .content-wrapper > .title.title-box, #courses .reveal .content-wrapper > .title.title-box, #courses .price-lists > .title.title-box, #courses .grid-x > .title.course-box, #courses #about > .title.course-box, .block #courses .content > .title.course-box, #courses .block .content > .title.course-box, #courses #services > .title.course-box, #courses #treners > .title.course-box, #courses > .title.course-box, #courses .title-box .content > .title.course-box, #courses .course-box .content > .title.course-box, #tour .media #courses .content > .title.course-box, #courses #tour .media .content > .title.course-box, .reveal #courses .content > .title.course-box, #courses .reveal .content > .title.course-box, .reveal #courses .content-wrapper > .title.course-box, #courses .reveal .content-wrapper > .title.course-box, #courses .price-lists > .title.course-box, .reveal .grid-x > .title.image, .reveal #about > .title.image, .block .reveal .content > .title.image, .reveal .block .content > .title.image, .reveal #services > .title.image, .reveal #treners > .title.image, .reveal #courses > .title.image, #courses .title-box .reveal .content > .title.image, .reveal #courses .title-box .content > .title.image, #courses .course-box .reveal .content > .title.image, .reveal #courses .course-box .content > .title.image, #tour .media .reveal .content > .title.image, .reveal #tour .media .content > .title.image, .reveal .content > .title.image, .reveal .content-wrapper > .title.image, .reveal .price-lists > .title.image, #article-list .grid-x > .title.article, #article-list #about > .title.article, .block #article-list .content > .title.article, #article-list .block .content > .title.article, #article-list #services > .title.article, #article-list #treners > .title.article, #article-list #courses > .title.article, #courses .title-box #article-list .content > .title.article, #article-list #courses .title-box .content > .title.article, #courses .course-box #article-list .content > .title.article, #article-list #courses .course-box .content > .title.article, #tour .media #article-list .content > .title.article, #article-list #tour .media .content > .title.article, .reveal #article-list .content > .title.article, #article-list .reveal .content > .title.article, .reveal #article-list .content-wrapper > .title.article, #article-list .reveal .content-wrapper > .title.article, #article-list .price-lists > .title.article, .reveal .grid-x > .image, .reveal #about > .image, .block .reveal .content > .image, .reveal .block .content > .image, .reveal #services > .image, .reveal #treners > .image, .reveal #courses > .image, #courses .title-box .reveal .content > .image, .reveal #courses .title-box .content > .image, #courses .course-box .reveal .content > .image, .reveal #courses .course-box .content > .image, #tour .media .reveal .content > .image, .reveal #tour .media .content > .image, .reveal .content > .image, .reveal .content-wrapper > .image, .reveal .price-lists > .image, #article-list .grid-x > .article, #article-list #about > .article, .block #article-list .content > .article, #article-list .block .content > .article, #article-list #services > .article, #article-list #treners > .article, #article-list #courses > .article, #courses .title-box #article-list .content > .article, #article-list #courses .title-box .content > .article, #courses .course-box #article-list .content > .article, #article-list #courses .course-box .content > .article, #tour .media #article-list .content > .article, #article-list #tour .media .content > .article, .reveal #article-list .content > .article, #article-list .reveal .content > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article, #article-list .price-lists > .article {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto, #about > .medium-auto, .block .content > .medium-auto, #services > .medium-auto, #treners > .medium-auto, #courses > .medium-auto, #courses .title-box .content > .medium-auto, #courses .course-box .content > .medium-auto, #tour .media .content > .medium-auto, .reveal .content > .medium-auto, .reveal .content-wrapper > .medium-auto, .price-lists > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, #about > .medium-shrink, .block .content > .medium-shrink, #services > .medium-shrink, #treners > .medium-shrink, #courses > .medium-shrink, #courses .title-box .content > .medium-shrink, #courses .course-box .content > .medium-shrink, #tour .media .content > .medium-shrink, .reveal .content > .medium-shrink, .reveal .content-wrapper > .medium-shrink, .price-lists > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1, #about > .medium-1, .block .content > .medium-1, #services > .medium-1, #treners > .medium-1, #courses > .medium-1, #courses .title-box .content > .medium-1, #courses .course-box .content > .medium-1, #tour .media .content > .medium-1, .reveal .content > .medium-1, .reveal .content-wrapper > .medium-1, .price-lists > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2, #about > .medium-2, .block .content > .medium-2, #services > .medium-2, #treners > .medium-2, #courses > .medium-2, #courses .title-box .content > .medium-2, #courses .course-box .content > .medium-2, #tour .media .content > .medium-2, .reveal .content > .medium-2, .reveal .content-wrapper > .medium-2, .price-lists > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3, #about > .medium-3, .block .content > .medium-3, #services > .medium-3, #treners > .medium-3, #courses > .medium-3, #courses .title-box .content > .medium-3, #courses .course-box .content > .medium-3, #tour .media .content > .medium-3, .reveal .content > .medium-3, .reveal .content-wrapper > .medium-3, .price-lists > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4, #about > .medium-4, .block .content > .medium-4, #services > .medium-4, #treners > .medium-4, #courses > .medium-4, #courses .title-box .content > .medium-4, #courses .course-box .content > .medium-4, #tour .media .content > .medium-4, .reveal .content > .medium-4, .reveal .content-wrapper > .medium-4, .price-lists > .medium-4, #services .grid-x > .title-box, #services #about > .title-box, .block #services .content > .title-box, #services .block .content > .title-box, #services > .title-box, #services #treners > .title-box, #services #courses > .title-box, #courses .title-box #services .content > .title-box, #services #courses .title-box .content > .title-box, #courses .course-box #services .content > .title-box, #services #courses .course-box .content > .title-box, #tour .media #services .content > .title-box, #services #tour .media .content > .title-box, .reveal #services .content > .title-box, #services .reveal .content > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .price-lists > .title-box, #services .grid-x > .service-box, #services #about > .service-box, .block #services .content > .service-box, #services .block .content > .service-box, #services > .service-box, #services #treners > .service-box, #services #courses > .service-box, #courses .title-box #services .content > .service-box, #services #courses .title-box .content > .service-box, #courses .course-box #services .content > .service-box, #services #courses .course-box .content > .service-box, #tour .media #services .content > .service-box, #services #tour .media .content > .service-box, .reveal #services .content > .service-box, #services .reveal .content > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, #services .price-lists > .service-box {
    width: 33.33333%; }
  .grid-x > .medium-5, #about > .medium-5, .block .content > .medium-5, #services > .medium-5, #treners > .medium-5, #courses > .medium-5, #courses .title-box .content > .medium-5, #courses .course-box .content > .medium-5, #tour .media .content > .medium-5, .reveal .content > .medium-5, .reveal .content-wrapper > .medium-5, .price-lists > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6, #about > .medium-6, .block .content > .medium-6, #services > .medium-6, #treners > .medium-6, #courses > .medium-6, #courses .title-box .content > .medium-6, #courses .course-box .content > .medium-6, #tour .media .content > .medium-6, .reveal .content > .medium-6, .reveal .content-wrapper > .medium-6, .price-lists > .medium-6, #treners .grid-x > .title-box, #treners #about > .title-box, .block #treners .content > .title-box, #treners .block .content > .title-box, #treners #services > .title-box, #treners > .title-box, #treners #courses > .title-box, #courses .title-box #treners .content > .title-box, #courses .course-box #treners .content > .title-box, #tour .media #treners .content > .title-box, #treners #tour .media .content > .title-box, .reveal #treners .content > .title-box, #treners .reveal .content > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .price-lists > .title-box, #treners .grid-x > .trener-box, #treners #about > .trener-box, .block #treners .content > .trener-box, #treners .block .content > .trener-box, #treners #services > .trener-box, #treners > .trener-box, #treners #courses > .trener-box, #courses .title-box #treners .content > .trener-box, #treners #courses .title-box .content > .trener-box, #courses .course-box #treners .content > .trener-box, #treners #courses .course-box .content > .trener-box, #tour .media #treners .content > .trener-box, #treners #tour .media .content > .trener-box, .reveal #treners .content > .trener-box, #treners .reveal .content > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #treners .price-lists > .trener-box, #courses .grid-x > .title-box, #courses #about > .title-box, .block #courses .content > .title-box, #courses .block .content > .title-box, #courses #services > .title-box, #courses #treners > .title-box, #courses > .title-box, #courses .title-box .content > .title-box, #courses .course-box .content > .title-box, #tour .media #courses .content > .title-box, #courses #tour .media .content > .title-box, .reveal #courses .content > .title-box, #courses .reveal .content > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .price-lists > .title-box, #courses .grid-x > .course-box, #courses #about > .course-box, .block #courses .content > .course-box, #courses .block .content > .course-box, #courses #services > .course-box, #courses #treners > .course-box, #courses > .course-box, #courses .title-box .content > .course-box, #courses .course-box .content > .course-box, #tour .media #courses .content > .course-box, #courses #tour .media .content > .course-box, .reveal #courses .content > .course-box, #courses .reveal .content > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, #courses .price-lists > .course-box, #article-list .grid-x > .article, #article-list #about > .article, .block #article-list .content > .article, #article-list .block .content > .article, #article-list #services > .article, #article-list #treners > .article, #article-list #courses > .article, #courses .title-box #article-list .content > .article, #article-list #courses .title-box .content > .article, #courses .course-box #article-list .content > .article, #article-list #courses .course-box .content > .article, #tour .media #article-list .content > .article, #article-list #tour .media .content > .article, .reveal #article-list .content > .article, #article-list .reveal .content > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article, #article-list .price-lists > .article {
    width: 50%; }
  .grid-x > .medium-7, #about > .medium-7, .block .content > .medium-7, #services > .medium-7, #treners > .medium-7, #courses > .medium-7, #courses .title-box .content > .medium-7, #courses .course-box .content > .medium-7, #tour .media .content > .medium-7, .reveal .content > .medium-7, .reveal .content-wrapper > .medium-7, .price-lists > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8, #about > .medium-8, .block .content > .medium-8, #services > .medium-8, #treners > .medium-8, #courses > .medium-8, #courses .title-box .content > .medium-8, #courses .course-box .content > .medium-8, #tour .media .content > .medium-8, .reveal .content > .medium-8, .reveal .content-wrapper > .medium-8, .price-lists > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9, #about > .medium-9, .block .content > .medium-9, #services > .medium-9, #treners > .medium-9, #courses > .medium-9, #courses .title-box .content > .medium-9, #courses .course-box .content > .medium-9, #tour .media .content > .medium-9, .reveal .content > .medium-9, .reveal .content-wrapper > .medium-9, .price-lists > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10, #about > .medium-10, .block .content > .medium-10, #services > .medium-10, #treners > .medium-10, #courses > .medium-10, #courses .title-box .content > .medium-10, #courses .course-box .content > .medium-10, #tour .media .content > .medium-10, .reveal .content > .medium-10, .reveal .content-wrapper > .medium-10, .price-lists > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11, #about > .medium-11, .block .content > .medium-11, #services > .medium-11, #treners > .medium-11, #courses > .medium-11, #courses .title-box .content > .medium-11, #courses .course-box .content > .medium-11, #tour .media .content > .medium-11, .reveal .content > .medium-11, .reveal .content-wrapper > .medium-11, .price-lists > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12, #about > .medium-12, .block .content > .medium-12, #services > .medium-12, #treners > .medium-12, #courses > .medium-12, #courses .title-box .content > .medium-12, #courses .course-box .content > .medium-12, #tour .media .content > .medium-12, .reveal .content > .medium-12, .reveal .content-wrapper > .medium-12, .price-lists > .medium-12, #about .grid-x > .gallery, #about > .gallery, .block #about .content > .gallery, #about .block .content > .gallery, #about #services > .gallery, #about #treners > .gallery, #about #courses > .gallery, #courses .title-box #about .content > .gallery, #about #courses .title-box .content > .gallery, #courses .course-box #about .content > .gallery, #about #courses .course-box .content > .gallery, #tour .media #about .content > .gallery, #about #tour .media .content > .gallery, .reveal #about .content > .gallery, #about .reveal .content > .gallery, .reveal #about .content-wrapper > .gallery, #about .reveal .content-wrapper > .gallery, #about .price-lists > .gallery {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto, #about > .large-auto, .block .content > .large-auto, #services > .large-auto, #treners > .large-auto, #courses > .large-auto, #courses .title-box .content > .large-auto, #courses .course-box .content > .large-auto, #tour .media .content > .large-auto, .reveal .content > .large-auto, .reveal .content-wrapper > .large-auto, .price-lists > .large-auto, .reveal .grid-x > .image, .reveal #about > .image, .reveal .block .content > .image, .reveal #services > .image, .reveal #treners > .image, .reveal #courses > .image, #courses .title-box .reveal .content > .image, .reveal #courses .title-box .content > .image, #courses .course-box .reveal .content > .image, .reveal #courses .course-box .content > .image, #tour .media .reveal .content > .image, .reveal #tour .media .content > .image, .reveal .content > .image, .reveal .content-wrapper > .image, .reveal .price-lists > .image {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, #about > .large-shrink, .block .content > .large-shrink, #services > .large-shrink, #treners > .large-shrink, #courses > .large-shrink, #courses .title-box .content > .large-shrink, #courses .course-box .content > .large-shrink, #tour .media .content > .large-shrink, .reveal .content > .large-shrink, .reveal .content-wrapper > .large-shrink, .price-lists > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1, #about > .large-1, .block .content > .large-1, #services > .large-1, #treners > .large-1, #courses > .large-1, #courses .title-box .content > .large-1, #courses .course-box .content > .large-1, #tour .media .content > .large-1, .reveal .content > .large-1, .reveal .content-wrapper > .large-1, .price-lists > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2, #about > .large-2, .block .content > .large-2, #services > .large-2, #treners > .large-2, #courses > .large-2, #courses .title-box .content > .large-2, #courses .course-box .content > .large-2, #tour .media .content > .large-2, .reveal .content > .large-2, .reveal .content-wrapper > .large-2, .price-lists > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3, #about > .large-3, .block .content > .large-3, #services > .large-3, #treners > .large-3, #courses > .large-3, #courses .title-box .content > .large-3, #courses .course-box .content > .large-3, #tour .media .content > .large-3, .reveal .content > .large-3, .reveal .content-wrapper > .large-3, .price-lists > .large-3, #services .grid-x > .title-box, #services #about > .title-box, .block #services .content > .title-box, #services .block .content > .title-box, #services > .title-box, #services #treners > .title-box, #services #courses > .title-box, #courses .title-box #services .content > .title-box, #services #courses .title-box .content > .title-box, #courses .course-box #services .content > .title-box, #services #courses .course-box .content > .title-box, #tour .media #services .content > .title-box, #services #tour .media .content > .title-box, .reveal #services .content > .title-box, #services .reveal .content > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .price-lists > .title-box, #services .grid-x > .service-box, #services #about > .service-box, .block #services .content > .service-box, #services .block .content > .service-box, #services > .service-box, #services #treners > .service-box, #services #courses > .service-box, #courses .title-box #services .content > .service-box, #services #courses .title-box .content > .service-box, #courses .course-box #services .content > .service-box, #services #courses .course-box .content > .service-box, #tour .media #services .content > .service-box, #services #tour .media .content > .service-box, .reveal #services .content > .service-box, #services .reveal .content > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, #services .price-lists > .service-box, #treners .grid-x > .title-box, #treners #about > .title-box, .block #treners .content > .title-box, #treners .block .content > .title-box, #treners #services > .title-box, #treners > .title-box, #treners #courses > .title-box, #courses .title-box #treners .content > .title-box, #treners #courses .title-box .content > .title-box, #courses .course-box #treners .content > .title-box, #treners #courses .course-box .content > .title-box, #tour .media #treners .content > .title-box, #treners #tour .media .content > .title-box, .reveal #treners .content > .title-box, #treners .reveal .content > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .price-lists > .title-box, #treners .grid-x > .trener-box, #treners #about > .trener-box, .block #treners .content > .trener-box, #treners .block .content > .trener-box, #treners #services > .trener-box, #treners > .trener-box, #treners #courses > .trener-box, #courses .title-box #treners .content > .trener-box, #treners #courses .title-box .content > .trener-box, #courses .course-box #treners .content > .trener-box, #treners #courses .course-box .content > .trener-box, #tour .media #treners .content > .trener-box, #treners #tour .media .content > .trener-box, .reveal #treners .content > .trener-box, #treners .reveal .content > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #treners .price-lists > .trener-box, #courses .grid-x > .course-box, #courses #about > .course-box, .block #courses .content > .course-box, #courses .block .content > .course-box, #courses #services > .course-box, #courses #treners > .course-box, #courses > .course-box, #courses .title-box .content > .course-box, #courses .course-box .content > .course-box, #tour .media #courses .content > .course-box, #courses #tour .media .content > .course-box, .reveal #courses .content > .course-box, #courses .reveal .content > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, #courses .price-lists > .course-box, #article-list .grid-x > .article, #article-list #about > .article, .block #article-list .content > .article, #article-list .block .content > .article, #article-list #services > .article, #article-list #treners > .article, #article-list #courses > .article, #courses .title-box #article-list .content > .article, #article-list #courses .title-box .content > .article, #courses .course-box #article-list .content > .article, #article-list #courses .course-box .content > .article, #tour .media #article-list .content > .article, #article-list #tour .media .content > .article, .reveal #article-list .content > .article, #article-list .reveal .content > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article, #article-list .price-lists > .article {
    width: 25%; }
  .grid-x > .large-4, #about > .large-4, .block .content > .large-4, #services > .large-4, #treners > .large-4, #courses > .large-4, #courses .title-box .content > .large-4, #courses .course-box .content > .large-4, #tour .media .content > .large-4, .reveal .content > .large-4, .reveal .content-wrapper > .large-4, .price-lists > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5, #about > .large-5, .block .content > .large-5, #services > .large-5, #treners > .large-5, #courses > .large-5, #courses .title-box .content > .large-5, #courses .course-box .content > .large-5, #tour .media .content > .large-5, .reveal .content > .large-5, .reveal .content-wrapper > .large-5, .price-lists > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6, #about > .large-6, .block .content > .large-6, #services > .large-6, #treners > .large-6, #courses > .large-6, #courses .title-box .content > .large-6, #courses .course-box .content > .large-6, #tour .media .content > .large-6, .reveal .content > .large-6, .reveal .content-wrapper > .large-6, .price-lists > .large-6, #about .grid-x > .gallery, #about > .gallery, .block #about .content > .gallery, #about .block .content > .gallery, #about #services > .gallery, #about #treners > .gallery, #about #courses > .gallery, #courses .title-box #about .content > .gallery, #about #courses .title-box .content > .gallery, #courses .course-box #about .content > .gallery, #about #courses .course-box .content > .gallery, #tour .media #about .content > .gallery, #about #tour .media .content > .gallery, .reveal #about .content > .gallery, #about .reveal .content > .gallery, .reveal #about .content-wrapper > .gallery, #about .reveal .content-wrapper > .gallery, #about .price-lists > .gallery, #courses .grid-x > .title-box, #courses #about > .title-box, .block #courses .content > .title-box, #courses .block .content > .title-box, #courses #services > .title-box, #courses #treners > .title-box, #courses > .title-box, #courses .title-box .content > .title-box, #courses .course-box .content > .title-box, #tour .media #courses .content > .title-box, #courses #tour .media .content > .title-box, .reveal #courses .content > .title-box, #courses .reveal .content > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .price-lists > .title-box {
    width: 50%; }
  .grid-x > .large-7, #about > .large-7, .block .content > .large-7, #services > .large-7, #treners > .large-7, #courses > .large-7, #courses .title-box .content > .large-7, #courses .course-box .content > .large-7, #tour .media .content > .large-7, .reveal .content > .large-7, .reveal .content-wrapper > .large-7, .price-lists > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8, #about > .large-8, .block .content > .large-8, #services > .large-8, #treners > .large-8, #courses > .large-8, #courses .title-box .content > .large-8, #courses .course-box .content > .large-8, #tour .media .content > .large-8, .reveal .content > .large-8, .reveal .content-wrapper > .large-8, .price-lists > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9, #about > .large-9, .block .content > .large-9, #services > .large-9, #treners > .large-9, #courses > .large-9, #courses .title-box .content > .large-9, #courses .course-box .content > .large-9, #tour .media .content > .large-9, .reveal .content > .large-9, .reveal .content-wrapper > .large-9, .price-lists > .large-9 {
    width: 75%; }
  .grid-x > .large-10, #about > .large-10, .block .content > .large-10, #services > .large-10, #treners > .large-10, #courses > .large-10, #courses .title-box .content > .large-10, #courses .course-box .content > .large-10, #tour .media .content > .large-10, .reveal .content > .large-10, .reveal .content-wrapper > .large-10, .price-lists > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11, #about > .large-11, .block .content > .large-11, #services > .large-11, #treners > .large-11, #courses > .large-11, #courses .title-box .content > .large-11, #courses .course-box .content > .large-11, #tour .media .content > .large-11, .reveal .content > .large-11, .reveal .content-wrapper > .large-11, .price-lists > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12, #about > .large-12, .block .content > .large-12, #services > .large-12, #treners > .large-12, #courses > .large-12, #courses .title-box .content > .large-12, #courses .course-box .content > .large-12, #tour .media .content > .large-12, .reveal .content > .large-12, .reveal .content-wrapper > .large-12, .price-lists > .large-12 {
    width: 100%; } }

@media screen and (min-width: 75em) {
  .grid-x > .xlarge-auto, #about > .xlarge-auto, .block .content > .xlarge-auto, #services > .xlarge-auto, #treners > .xlarge-auto, #courses > .xlarge-auto, #courses .title-box .content > .xlarge-auto, #courses .course-box .content > .xlarge-auto, #tour .media .content > .xlarge-auto, .reveal .content > .xlarge-auto, .reveal .content-wrapper > .xlarge-auto, .price-lists > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink, #about > .xlarge-shrink, .block .content > .xlarge-shrink, #services > .xlarge-shrink, #treners > .xlarge-shrink, #courses > .xlarge-shrink, #courses .title-box .content > .xlarge-shrink, #courses .course-box .content > .xlarge-shrink, #tour .media .content > .xlarge-shrink, .reveal .content > .xlarge-shrink, .reveal .content-wrapper > .xlarge-shrink, .price-lists > .xlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1, #about > .xlarge-1, .block .content > .xlarge-1, #services > .xlarge-1, #treners > .xlarge-1, #courses > .xlarge-1, #courses .title-box .content > .xlarge-1, #courses .course-box .content > .xlarge-1, #tour .media .content > .xlarge-1, .reveal .content > .xlarge-1, .reveal .content-wrapper > .xlarge-1, .price-lists > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2, #about > .xlarge-2, .block .content > .xlarge-2, #services > .xlarge-2, #treners > .xlarge-2, #courses > .xlarge-2, #courses .title-box .content > .xlarge-2, #courses .course-box .content > .xlarge-2, #tour .media .content > .xlarge-2, .reveal .content > .xlarge-2, .reveal .content-wrapper > .xlarge-2, .price-lists > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3, #about > .xlarge-3, .block .content > .xlarge-3, #services > .xlarge-3, #treners > .xlarge-3, #courses > .xlarge-3, #courses .title-box .content > .xlarge-3, #courses .course-box .content > .xlarge-3, #tour .media .content > .xlarge-3, .reveal .content > .xlarge-3, .reveal .content-wrapper > .xlarge-3, .price-lists > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4, #about > .xlarge-4, .block .content > .xlarge-4, #services > .xlarge-4, #treners > .xlarge-4, #courses > .xlarge-4, #courses .title-box .content > .xlarge-4, #courses .course-box .content > .xlarge-4, #tour .media .content > .xlarge-4, .reveal .content > .xlarge-4, .reveal .content-wrapper > .xlarge-4, .price-lists > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5, #about > .xlarge-5, .block .content > .xlarge-5, #services > .xlarge-5, #treners > .xlarge-5, #courses > .xlarge-5, #courses .title-box .content > .xlarge-5, #courses .course-box .content > .xlarge-5, #tour .media .content > .xlarge-5, .reveal .content > .xlarge-5, .reveal .content-wrapper > .xlarge-5, .price-lists > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6, #about > .xlarge-6, .block .content > .xlarge-6, #services > .xlarge-6, #treners > .xlarge-6, #courses > .xlarge-6, #courses .title-box .content > .xlarge-6, #courses .course-box .content > .xlarge-6, #tour .media .content > .xlarge-6, .reveal .content > .xlarge-6, .reveal .content-wrapper > .xlarge-6, .price-lists > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7, #about > .xlarge-7, .block .content > .xlarge-7, #services > .xlarge-7, #treners > .xlarge-7, #courses > .xlarge-7, #courses .title-box .content > .xlarge-7, #courses .course-box .content > .xlarge-7, #tour .media .content > .xlarge-7, .reveal .content > .xlarge-7, .reveal .content-wrapper > .xlarge-7, .price-lists > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8, #about > .xlarge-8, .block .content > .xlarge-8, #services > .xlarge-8, #treners > .xlarge-8, #courses > .xlarge-8, #courses .title-box .content > .xlarge-8, #courses .course-box .content > .xlarge-8, #tour .media .content > .xlarge-8, .reveal .content > .xlarge-8, .reveal .content-wrapper > .xlarge-8, .price-lists > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9, #about > .xlarge-9, .block .content > .xlarge-9, #services > .xlarge-9, #treners > .xlarge-9, #courses > .xlarge-9, #courses .title-box .content > .xlarge-9, #courses .course-box .content > .xlarge-9, #tour .media .content > .xlarge-9, .reveal .content > .xlarge-9, .reveal .content-wrapper > .xlarge-9, .price-lists > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10, #about > .xlarge-10, .block .content > .xlarge-10, #services > .xlarge-10, #treners > .xlarge-10, #courses > .xlarge-10, #courses .title-box .content > .xlarge-10, #courses .course-box .content > .xlarge-10, #tour .media .content > .xlarge-10, .reveal .content > .xlarge-10, .reveal .content-wrapper > .xlarge-10, .price-lists > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11, #about > .xlarge-11, .block .content > .xlarge-11, #services > .xlarge-11, #treners > .xlarge-11, #courses > .xlarge-11, #courses .title-box .content > .xlarge-11, #courses .course-box .content > .xlarge-11, #tour .media .content > .xlarge-11, .reveal .content > .xlarge-11, .reveal .content-wrapper > .xlarge-11, .price-lists > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12, #about > .xlarge-12, .block .content > .xlarge-12, #services > .xlarge-12, #treners > .xlarge-12, #courses > .xlarge-12, #courses .title-box .content > .xlarge-12, #courses .course-box .content > .xlarge-12, #tour .media .content > .xlarge-12, .reveal .content > .xlarge-12, .reveal .content-wrapper > .xlarge-12, .price-lists > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto, #about > .xxlarge-auto, .block .content > .xxlarge-auto, #services > .xxlarge-auto, #treners > .xxlarge-auto, #courses > .xxlarge-auto, #courses .title-box .content > .xxlarge-auto, #courses .course-box .content > .xxlarge-auto, #tour .media .content > .xxlarge-auto, .reveal .content > .xxlarge-auto, .reveal .content-wrapper > .xxlarge-auto, .price-lists > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink, #about > .xxlarge-shrink, .block .content > .xxlarge-shrink, #services > .xxlarge-shrink, #treners > .xxlarge-shrink, #courses > .xxlarge-shrink, #courses .title-box .content > .xxlarge-shrink, #courses .course-box .content > .xxlarge-shrink, #tour .media .content > .xxlarge-shrink, .reveal .content > .xxlarge-shrink, .reveal .content-wrapper > .xxlarge-shrink, .price-lists > .xxlarge-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1, #about > .xxlarge-1, .block .content > .xxlarge-1, #services > .xxlarge-1, #treners > .xxlarge-1, #courses > .xxlarge-1, #courses .title-box .content > .xxlarge-1, #courses .course-box .content > .xxlarge-1, #tour .media .content > .xxlarge-1, .reveal .content > .xxlarge-1, .reveal .content-wrapper > .xxlarge-1, .price-lists > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2, #about > .xxlarge-2, .block .content > .xxlarge-2, #services > .xxlarge-2, #treners > .xxlarge-2, #courses > .xxlarge-2, #courses .title-box .content > .xxlarge-2, #courses .course-box .content > .xxlarge-2, #tour .media .content > .xxlarge-2, .reveal .content > .xxlarge-2, .reveal .content-wrapper > .xxlarge-2, .price-lists > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3, #about > .xxlarge-3, .block .content > .xxlarge-3, #services > .xxlarge-3, #treners > .xxlarge-3, #courses > .xxlarge-3, #courses .title-box .content > .xxlarge-3, #courses .course-box .content > .xxlarge-3, #tour .media .content > .xxlarge-3, .reveal .content > .xxlarge-3, .reveal .content-wrapper > .xxlarge-3, .price-lists > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4, #about > .xxlarge-4, .block .content > .xxlarge-4, #services > .xxlarge-4, #treners > .xxlarge-4, #courses > .xxlarge-4, #courses .title-box .content > .xxlarge-4, #courses .course-box .content > .xxlarge-4, #tour .media .content > .xxlarge-4, .reveal .content > .xxlarge-4, .reveal .content-wrapper > .xxlarge-4, .price-lists > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5, #about > .xxlarge-5, .block .content > .xxlarge-5, #services > .xxlarge-5, #treners > .xxlarge-5, #courses > .xxlarge-5, #courses .title-box .content > .xxlarge-5, #courses .course-box .content > .xxlarge-5, #tour .media .content > .xxlarge-5, .reveal .content > .xxlarge-5, .reveal .content-wrapper > .xxlarge-5, .price-lists > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6, #about > .xxlarge-6, .block .content > .xxlarge-6, #services > .xxlarge-6, #treners > .xxlarge-6, #courses > .xxlarge-6, #courses .title-box .content > .xxlarge-6, #courses .course-box .content > .xxlarge-6, #tour .media .content > .xxlarge-6, .reveal .content > .xxlarge-6, .reveal .content-wrapper > .xxlarge-6, .price-lists > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7, #about > .xxlarge-7, .block .content > .xxlarge-7, #services > .xxlarge-7, #treners > .xxlarge-7, #courses > .xxlarge-7, #courses .title-box .content > .xxlarge-7, #courses .course-box .content > .xxlarge-7, #tour .media .content > .xxlarge-7, .reveal .content > .xxlarge-7, .reveal .content-wrapper > .xxlarge-7, .price-lists > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8, #about > .xxlarge-8, .block .content > .xxlarge-8, #services > .xxlarge-8, #treners > .xxlarge-8, #courses > .xxlarge-8, #courses .title-box .content > .xxlarge-8, #courses .course-box .content > .xxlarge-8, #tour .media .content > .xxlarge-8, .reveal .content > .xxlarge-8, .reveal .content-wrapper > .xxlarge-8, .price-lists > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9, #about > .xxlarge-9, .block .content > .xxlarge-9, #services > .xxlarge-9, #treners > .xxlarge-9, #courses > .xxlarge-9, #courses .title-box .content > .xxlarge-9, #courses .course-box .content > .xxlarge-9, #tour .media .content > .xxlarge-9, .reveal .content > .xxlarge-9, .reveal .content-wrapper > .xxlarge-9, .price-lists > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10, #about > .xxlarge-10, .block .content > .xxlarge-10, #services > .xxlarge-10, #treners > .xxlarge-10, #courses > .xxlarge-10, #courses .title-box .content > .xxlarge-10, #courses .course-box .content > .xxlarge-10, #tour .media .content > .xxlarge-10, .reveal .content > .xxlarge-10, .reveal .content-wrapper > .xxlarge-10, .price-lists > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11, #about > .xxlarge-11, .block .content > .xxlarge-11, #services > .xxlarge-11, #treners > .xxlarge-11, #courses > .xxlarge-11, #courses .title-box .content > .xxlarge-11, #courses .course-box .content > .xxlarge-11, #tour .media .content > .xxlarge-11, .reveal .content > .xxlarge-11, .reveal .content-wrapper > .xxlarge-11, .price-lists > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12, #about > .xxlarge-12, .block .content > .xxlarge-12, #services > .xxlarge-12, #treners > .xxlarge-12, #courses > .xxlarge-12, #courses .title-box .content > .xxlarge-12, #courses .course-box .content > .xxlarge-12, #tour .media .content > .xxlarge-12, .reveal .content > .xxlarge-12, .reveal .content-wrapper > .xxlarge-12, .price-lists > .xxlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .cell, #services .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .title-box, #services .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .service-box, .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .quote-block, #treners .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .title-box, #treners .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .trener-box, #courses .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .title-box, #courses .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .course-box, .reveal .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .image, #article-list .grid-margin-x:not(.grid-x):not(#about):not(.block .content):not(#services):not(#treners):not(#courses):not(#courses .title-box .content):not(#courses .course-box .content):not(#tour .media .content):not(.reveal .content):not(.reveal .content-wrapper):not(.price-lists) > .article {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell, #services .grid-margin-y:not(.grid-y) > .title-box, #services .grid-margin-y:not(.grid-y) > .service-box, .grid-margin-y:not(.grid-y) > .quote-block, #treners .grid-margin-y:not(.grid-y) > .title-box, #treners .grid-margin-y:not(.grid-y) > .trener-box, #courses .grid-margin-y:not(.grid-y) > .title-box, #courses .grid-margin-y:not(.grid-y) > .course-box, .reveal .grid-margin-y:not(.grid-y) > .image, #article-list .grid-margin-y:not(.grid-y) > .article {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box, .grid-margin-x > .quote-block, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .title-box, #courses .grid-margin-x > .course-box, .reveal .grid-margin-x > .image, #article-list .grid-margin-x > .article {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box, .grid-margin-x > .quote-block, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .title-box, #courses .grid-margin-x > .course-box, .reveal .grid-margin-x > .image, #article-list .grid-margin-x > .article {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto, .grid-margin-x > .quote-block {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12, #about .grid-margin-x > .gallery, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .title-box, #courses .grid-margin-x > .course-box, .grid-margin-x > .cell.title, .grid-margin-x > .title.quote-block, .reveal .grid-margin-x > .image, #article-list .grid-margin-x > .article {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto, .grid-margin-x > .quote-block {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12, #about .grid-margin-x > .gallery, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .title-box, #courses .grid-margin-x > .course-box, .grid-margin-x > .cell.title, .grid-margin-x > .title.quote-block, .reveal .grid-margin-x > .image, #article-list .grid-margin-x > .article {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .title-box, #courses .grid-margin-x > .course-box, #article-list .grid-margin-x > .article {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12, #about .grid-margin-x > .gallery {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto, .reveal .grid-margin-x > .image {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3, #services .grid-margin-x > .title-box, #services .grid-margin-x > .service-box, #treners .grid-margin-x > .title-box, #treners .grid-margin-x > .trener-box, #courses .grid-margin-x > .course-box, #article-list .grid-margin-x > .article {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6, #about .grid-margin-x > .gallery, #courses .grid-margin-x > .title-box {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x, .cell.title .grid-padding-x, #services .title.title-box .grid-padding-x, #services .title.service-box .grid-padding-x, .title.quote-block .grid-padding-x, #treners .title.title-box .grid-padding-x, #treners .title.trener-box .grid-padding-x, #courses .title.title-box .grid-padding-x, #courses .title.course-box .grid-padding-x, .reveal .title.image .grid-padding-x, #article-list .title.article .grid-padding-x, .reveal .content-wrapper .grid-padding-x, .price-lists .grid-padding-x, .grid-padding-x .cell.title, .cell.title .cell.title, #services .title.title-box .cell.title, #services .title.service-box .cell.title, .title.quote-block .cell.title, #treners .title.title-box .cell.title, #treners .title.trener-box .cell.title, #courses .title.title-box .cell.title, #courses .title.course-box .cell.title, .reveal .title.image .cell.title, #article-list .title.article .cell.title, .reveal .content-wrapper .cell.title, .price-lists .cell.title, .grid-padding-x #services .title.title-box, #services .grid-padding-x .title.title-box, .cell.title #services .title.title-box, #services .cell.title .title.title-box, #services .title.title-box .title.title-box, #services .title.service-box .title.title-box, .title.quote-block #services .title.title-box, #services .title.quote-block .title.title-box, #treners .title.title-box #services .title.title-box, #services #treners .title.title-box .title.title-box, #treners .title.trener-box #services .title.title-box, #services #treners .title.trener-box .title.title-box, #courses .title.title-box #services .title.title-box, #services #courses .title.title-box .title.title-box, #courses .title.course-box #services .title.title-box, #services #courses .title.course-box .title.title-box, .reveal .title.image #services .title.title-box, #services .reveal .title.image .title.title-box, #article-list .title.article #services .title.title-box, #services #article-list .title.article .title.title-box, .reveal .content-wrapper #services .title.title-box, #services .reveal .content-wrapper .title.title-box, .price-lists #services .title.title-box, #services .price-lists .title.title-box, .grid-padding-x #services .title.service-box, #services .grid-padding-x .title.service-box, .cell.title #services .title.service-box, #services .cell.title .title.service-box, #services .title.title-box .title.service-box, #services .title.service-box .title.service-box, .title.quote-block #services .title.service-box, #services .title.quote-block .title.service-box, #treners .title.title-box #services .title.service-box, #services #treners .title.title-box .title.service-box, #treners .title.trener-box #services .title.service-box, #services #treners .title.trener-box .title.service-box, #courses .title.title-box #services .title.service-box, #services #courses .title.title-box .title.service-box, #courses .title.course-box #services .title.service-box, #services #courses .title.course-box .title.service-box, .reveal .title.image #services .title.service-box, #services .reveal .title.image .title.service-box, #article-list .title.article #services .title.service-box, #services #article-list .title.article .title.service-box, .reveal .content-wrapper #services .title.service-box, #services .reveal .content-wrapper .title.service-box, .price-lists #services .title.service-box, #services .price-lists .title.service-box, .grid-padding-x .title.quote-block, .cell.title .title.quote-block, #services .title.title-box .title.quote-block, #services .title.service-box .title.quote-block, .title.quote-block .title.quote-block, #treners .title.title-box .title.quote-block, #treners .title.trener-box .title.quote-block, #courses .title.title-box .title.quote-block, #courses .title.course-box .title.quote-block, .reveal .title.image .title.quote-block, #article-list .title.article .title.quote-block, .reveal .content-wrapper .title.quote-block, .price-lists .title.quote-block, .grid-padding-x #treners .title.title-box, #treners .grid-padding-x .title.title-box, .cell.title #treners .title.title-box, #treners .cell.title .title.title-box, #services .title.title-box #treners .title.title-box, #treners #services .title.title-box .title.title-box, #services .title.service-box #treners .title.title-box, #treners #services .title.service-box .title.title-box, .title.quote-block #treners .title.title-box, #treners .title.quote-block .title.title-box, #treners .title.title-box .title.title-box, #treners .title.trener-box .title.title-box, #courses .title.title-box #treners .title.title-box, #treners #courses .title.title-box .title.title-box, #courses .title.course-box #treners .title.title-box, #treners #courses .title.course-box .title.title-box, .reveal .title.image #treners .title.title-box, #treners .reveal .title.image .title.title-box, #article-list .title.article #treners .title.title-box, #treners #article-list .title.article .title.title-box, .reveal .content-wrapper #treners .title.title-box, #treners .reveal .content-wrapper .title.title-box, .price-lists #treners .title.title-box, #treners .price-lists .title.title-box, .grid-padding-x #treners .title.trener-box, #treners .grid-padding-x .title.trener-box, .cell.title #treners .title.trener-box, #treners .cell.title .title.trener-box, #services .title.title-box #treners .title.trener-box, #treners #services .title.title-box .title.trener-box, #services .title.service-box #treners .title.trener-box, #treners #services .title.service-box .title.trener-box, .title.quote-block #treners .title.trener-box, #treners .title.quote-block .title.trener-box, #treners .title.title-box .title.trener-box, #treners .title.trener-box .title.trener-box, #courses .title.title-box #treners .title.trener-box, #treners #courses .title.title-box .title.trener-box, #courses .title.course-box #treners .title.trener-box, #treners #courses .title.course-box .title.trener-box, .reveal .title.image #treners .title.trener-box, #treners .reveal .title.image .title.trener-box, #article-list .title.article #treners .title.trener-box, #treners #article-list .title.article .title.trener-box, .reveal .content-wrapper #treners .title.trener-box, #treners .reveal .content-wrapper .title.trener-box, .price-lists #treners .title.trener-box, #treners .price-lists .title.trener-box, .grid-padding-x #courses .title.title-box, #courses .grid-padding-x .title.title-box, .cell.title #courses .title.title-box, #courses .cell.title .title.title-box, #services .title.title-box #courses .title.title-box, #courses #services .title.title-box .title.title-box, #services .title.service-box #courses .title.title-box, #courses #services .title.service-box .title.title-box, .title.quote-block #courses .title.title-box, #courses .title.quote-block .title.title-box, #treners .title.title-box #courses .title.title-box, #courses #treners .title.title-box .title.title-box, #treners .title.trener-box #courses .title.title-box, #courses #treners .title.trener-box .title.title-box, #courses .title.title-box .title.title-box, #courses .title.course-box .title.title-box, .reveal .title.image #courses .title.title-box, #courses .reveal .title.image .title.title-box, #article-list .title.article #courses .title.title-box, #courses #article-list .title.article .title.title-box, .reveal .content-wrapper #courses .title.title-box, #courses .reveal .content-wrapper .title.title-box, .price-lists #courses .title.title-box, #courses .price-lists .title.title-box, .grid-padding-x #courses .title.course-box, #courses .grid-padding-x .title.course-box, .cell.title #courses .title.course-box, #courses .cell.title .title.course-box, #services .title.title-box #courses .title.course-box, #courses #services .title.title-box .title.course-box, #services .title.service-box #courses .title.course-box, #courses #services .title.service-box .title.course-box, .title.quote-block #courses .title.course-box, #courses .title.quote-block .title.course-box, #treners .title.title-box #courses .title.course-box, #courses #treners .title.title-box .title.course-box, #treners .title.trener-box #courses .title.course-box, #courses #treners .title.trener-box .title.course-box, #courses .title.title-box .title.course-box, #courses .title.course-box .title.course-box, .reveal .title.image #courses .title.course-box, #courses .reveal .title.image .title.course-box, #article-list .title.article #courses .title.course-box, #courses #article-list .title.article .title.course-box, .reveal .content-wrapper #courses .title.course-box, #courses .reveal .content-wrapper .title.course-box, .price-lists #courses .title.course-box, #courses .price-lists .title.course-box, .grid-padding-x .reveal .title.image, .reveal .grid-padding-x .title.image, .cell.title .reveal .title.image, .reveal .cell.title .title.image, #services .title.title-box .reveal .title.image, .reveal #services .title.title-box .title.image, #services .title.service-box .reveal .title.image, .reveal #services .title.service-box .title.image, .title.quote-block .reveal .title.image, .reveal .title.quote-block .title.image, #treners .title.title-box .reveal .title.image, .reveal #treners .title.title-box .title.image, #treners .title.trener-box .reveal .title.image, .reveal #treners .title.trener-box .title.image, #courses .title.title-box .reveal .title.image, .reveal #courses .title.title-box .title.image, #courses .title.course-box .reveal .title.image, .reveal #courses .title.course-box .title.image, .reveal .title.image .title.image, #article-list .title.article .reveal .title.image, .reveal #article-list .title.article .title.image, .reveal .content-wrapper .title.image, .price-lists .reveal .title.image, .reveal .price-lists .title.image, .grid-padding-x #article-list .title.article, #article-list .grid-padding-x .title.article, .cell.title #article-list .title.article, #article-list .cell.title .title.article, #services .title.title-box #article-list .title.article, #article-list #services .title.title-box .title.article, #services .title.service-box #article-list .title.article, #article-list #services .title.service-box .title.article, .title.quote-block #article-list .title.article, #article-list .title.quote-block .title.article, #treners .title.title-box #article-list .title.article, #article-list #treners .title.title-box .title.article, #treners .title.trener-box #article-list .title.article, #article-list #treners .title.trener-box .title.article, #courses .title.title-box #article-list .title.article, #article-list #courses .title.title-box .title.article, #courses .title.course-box #article-list .title.article, #article-list #courses .title.course-box .title.article, .reveal .title.image #article-list .title.article, #article-list .reveal .title.image .title.article, #article-list .title.article .title.article, .reveal .content-wrapper #article-list .title.article, #article-list .reveal .content-wrapper .title.article, .price-lists #article-list .title.article, #article-list .price-lists .title.article, .grid-padding-x .reveal .content-wrapper, .reveal .grid-padding-x .content-wrapper, .cell.title .reveal .content-wrapper, .reveal .cell.title .content-wrapper, #services .title.title-box .reveal .content-wrapper, .reveal #services .title.title-box .content-wrapper, #services .title.service-box .reveal .content-wrapper, .reveal #services .title.service-box .content-wrapper, .title.quote-block .reveal .content-wrapper, .reveal .title.quote-block .content-wrapper, #treners .title.title-box .reveal .content-wrapper, .reveal #treners .title.title-box .content-wrapper, #treners .title.trener-box .reveal .content-wrapper, .reveal #treners .title.trener-box .content-wrapper, #courses .title.title-box .reveal .content-wrapper, .reveal #courses .title.title-box .content-wrapper, #courses .title.course-box .reveal .content-wrapper, .reveal #courses .title.course-box .content-wrapper, .reveal .title.image .content-wrapper, #article-list .title.article .reveal .content-wrapper, .reveal #article-list .title.article .content-wrapper, .reveal .content-wrapper .content-wrapper, .price-lists .reveal .content-wrapper, .reveal .price-lists .content-wrapper, .grid-padding-x .price-lists, .cell.title .price-lists, #services .title.title-box .price-lists, #services .title.service-box .price-lists, .title.quote-block .price-lists, #treners .title.title-box .price-lists, #treners .title.trener-box .price-lists, #courses .title.title-box .price-lists, #courses .title.course-box .price-lists, .reveal .title.image .price-lists, #article-list .title.article .price-lists, .reveal .content-wrapper .price-lists, .price-lists .price-lists {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x, .cell.title .grid-padding-x, #services .title.title-box .grid-padding-x, #services .title.service-box .grid-padding-x, .title.quote-block .grid-padding-x, #treners .title.title-box .grid-padding-x, #treners .title.trener-box .grid-padding-x, #courses .title.title-box .grid-padding-x, #courses .title.course-box .grid-padding-x, .reveal .title.image .grid-padding-x, #article-list .title.article .grid-padding-x, .reveal .content-wrapper .grid-padding-x, .price-lists .grid-padding-x, .grid-padding-x .cell.title, .cell.title .cell.title, #services .title.title-box .cell.title, #services .title.service-box .cell.title, .title.quote-block .cell.title, #treners .title.title-box .cell.title, #treners .title.trener-box .cell.title, #courses .title.title-box .cell.title, #courses .title.course-box .cell.title, .reveal .title.image .cell.title, #article-list .title.article .cell.title, .reveal .content-wrapper .cell.title, .price-lists .cell.title, .grid-padding-x #services .title.title-box, #services .grid-padding-x .title.title-box, .cell.title #services .title.title-box, #services .cell.title .title.title-box, #services .title.title-box .title.title-box, #services .title.service-box .title.title-box, .title.quote-block #services .title.title-box, #services .title.quote-block .title.title-box, #treners .title.title-box #services .title.title-box, #services #treners .title.title-box .title.title-box, #treners .title.trener-box #services .title.title-box, #services #treners .title.trener-box .title.title-box, #courses .title.title-box #services .title.title-box, #services #courses .title.title-box .title.title-box, #courses .title.course-box #services .title.title-box, #services #courses .title.course-box .title.title-box, .reveal .title.image #services .title.title-box, #services .reveal .title.image .title.title-box, #article-list .title.article #services .title.title-box, #services #article-list .title.article .title.title-box, .reveal .content-wrapper #services .title.title-box, #services .reveal .content-wrapper .title.title-box, .price-lists #services .title.title-box, #services .price-lists .title.title-box, .grid-padding-x #services .title.service-box, #services .grid-padding-x .title.service-box, .cell.title #services .title.service-box, #services .cell.title .title.service-box, #services .title.title-box .title.service-box, #services .title.service-box .title.service-box, .title.quote-block #services .title.service-box, #services .title.quote-block .title.service-box, #treners .title.title-box #services .title.service-box, #services #treners .title.title-box .title.service-box, #treners .title.trener-box #services .title.service-box, #services #treners .title.trener-box .title.service-box, #courses .title.title-box #services .title.service-box, #services #courses .title.title-box .title.service-box, #courses .title.course-box #services .title.service-box, #services #courses .title.course-box .title.service-box, .reveal .title.image #services .title.service-box, #services .reveal .title.image .title.service-box, #article-list .title.article #services .title.service-box, #services #article-list .title.article .title.service-box, .reveal .content-wrapper #services .title.service-box, #services .reveal .content-wrapper .title.service-box, .price-lists #services .title.service-box, #services .price-lists .title.service-box, .grid-padding-x .title.quote-block, .cell.title .title.quote-block, #services .title.title-box .title.quote-block, #services .title.service-box .title.quote-block, .title.quote-block .title.quote-block, #treners .title.title-box .title.quote-block, #treners .title.trener-box .title.quote-block, #courses .title.title-box .title.quote-block, #courses .title.course-box .title.quote-block, .reveal .title.image .title.quote-block, #article-list .title.article .title.quote-block, .reveal .content-wrapper .title.quote-block, .price-lists .title.quote-block, .grid-padding-x #treners .title.title-box, #treners .grid-padding-x .title.title-box, .cell.title #treners .title.title-box, #treners .cell.title .title.title-box, #services .title.title-box #treners .title.title-box, #treners #services .title.title-box .title.title-box, #services .title.service-box #treners .title.title-box, #treners #services .title.service-box .title.title-box, .title.quote-block #treners .title.title-box, #treners .title.quote-block .title.title-box, #treners .title.title-box .title.title-box, #treners .title.trener-box .title.title-box, #courses .title.title-box #treners .title.title-box, #treners #courses .title.title-box .title.title-box, #courses .title.course-box #treners .title.title-box, #treners #courses .title.course-box .title.title-box, .reveal .title.image #treners .title.title-box, #treners .reveal .title.image .title.title-box, #article-list .title.article #treners .title.title-box, #treners #article-list .title.article .title.title-box, .reveal .content-wrapper #treners .title.title-box, #treners .reveal .content-wrapper .title.title-box, .price-lists #treners .title.title-box, #treners .price-lists .title.title-box, .grid-padding-x #treners .title.trener-box, #treners .grid-padding-x .title.trener-box, .cell.title #treners .title.trener-box, #treners .cell.title .title.trener-box, #services .title.title-box #treners .title.trener-box, #treners #services .title.title-box .title.trener-box, #services .title.service-box #treners .title.trener-box, #treners #services .title.service-box .title.trener-box, .title.quote-block #treners .title.trener-box, #treners .title.quote-block .title.trener-box, #treners .title.title-box .title.trener-box, #treners .title.trener-box .title.trener-box, #courses .title.title-box #treners .title.trener-box, #treners #courses .title.title-box .title.trener-box, #courses .title.course-box #treners .title.trener-box, #treners #courses .title.course-box .title.trener-box, .reveal .title.image #treners .title.trener-box, #treners .reveal .title.image .title.trener-box, #article-list .title.article #treners .title.trener-box, #treners #article-list .title.article .title.trener-box, .reveal .content-wrapper #treners .title.trener-box, #treners .reveal .content-wrapper .title.trener-box, .price-lists #treners .title.trener-box, #treners .price-lists .title.trener-box, .grid-padding-x #courses .title.title-box, #courses .grid-padding-x .title.title-box, .cell.title #courses .title.title-box, #courses .cell.title .title.title-box, #services .title.title-box #courses .title.title-box, #courses #services .title.title-box .title.title-box, #services .title.service-box #courses .title.title-box, #courses #services .title.service-box .title.title-box, .title.quote-block #courses .title.title-box, #courses .title.quote-block .title.title-box, #treners .title.title-box #courses .title.title-box, #courses #treners .title.title-box .title.title-box, #treners .title.trener-box #courses .title.title-box, #courses #treners .title.trener-box .title.title-box, #courses .title.title-box .title.title-box, #courses .title.course-box .title.title-box, .reveal .title.image #courses .title.title-box, #courses .reveal .title.image .title.title-box, #article-list .title.article #courses .title.title-box, #courses #article-list .title.article .title.title-box, .reveal .content-wrapper #courses .title.title-box, #courses .reveal .content-wrapper .title.title-box, .price-lists #courses .title.title-box, #courses .price-lists .title.title-box, .grid-padding-x #courses .title.course-box, #courses .grid-padding-x .title.course-box, .cell.title #courses .title.course-box, #courses .cell.title .title.course-box, #services .title.title-box #courses .title.course-box, #courses #services .title.title-box .title.course-box, #services .title.service-box #courses .title.course-box, #courses #services .title.service-box .title.course-box, .title.quote-block #courses .title.course-box, #courses .title.quote-block .title.course-box, #treners .title.title-box #courses .title.course-box, #courses #treners .title.title-box .title.course-box, #treners .title.trener-box #courses .title.course-box, #courses #treners .title.trener-box .title.course-box, #courses .title.title-box .title.course-box, #courses .title.course-box .title.course-box, .reveal .title.image #courses .title.course-box, #courses .reveal .title.image .title.course-box, #article-list .title.article #courses .title.course-box, #courses #article-list .title.article .title.course-box, .reveal .content-wrapper #courses .title.course-box, #courses .reveal .content-wrapper .title.course-box, .price-lists #courses .title.course-box, #courses .price-lists .title.course-box, .grid-padding-x .reveal .title.image, .reveal .grid-padding-x .title.image, .cell.title .reveal .title.image, .reveal .cell.title .title.image, #services .title.title-box .reveal .title.image, .reveal #services .title.title-box .title.image, #services .title.service-box .reveal .title.image, .reveal #services .title.service-box .title.image, .title.quote-block .reveal .title.image, .reveal .title.quote-block .title.image, #treners .title.title-box .reveal .title.image, .reveal #treners .title.title-box .title.image, #treners .title.trener-box .reveal .title.image, .reveal #treners .title.trener-box .title.image, #courses .title.title-box .reveal .title.image, .reveal #courses .title.title-box .title.image, #courses .title.course-box .reveal .title.image, .reveal #courses .title.course-box .title.image, .reveal .title.image .title.image, #article-list .title.article .reveal .title.image, .reveal #article-list .title.article .title.image, .reveal .content-wrapper .title.image, .price-lists .reveal .title.image, .reveal .price-lists .title.image, .grid-padding-x #article-list .title.article, #article-list .grid-padding-x .title.article, .cell.title #article-list .title.article, #article-list .cell.title .title.article, #services .title.title-box #article-list .title.article, #article-list #services .title.title-box .title.article, #services .title.service-box #article-list .title.article, #article-list #services .title.service-box .title.article, .title.quote-block #article-list .title.article, #article-list .title.quote-block .title.article, #treners .title.title-box #article-list .title.article, #article-list #treners .title.title-box .title.article, #treners .title.trener-box #article-list .title.article, #article-list #treners .title.trener-box .title.article, #courses .title.title-box #article-list .title.article, #article-list #courses .title.title-box .title.article, #courses .title.course-box #article-list .title.article, #article-list #courses .title.course-box .title.article, .reveal .title.image #article-list .title.article, #article-list .reveal .title.image .title.article, #article-list .title.article .title.article, .reveal .content-wrapper #article-list .title.article, #article-list .reveal .content-wrapper .title.article, .price-lists #article-list .title.article, #article-list .price-lists .title.article, .grid-padding-x .reveal .content-wrapper, .reveal .grid-padding-x .content-wrapper, .cell.title .reveal .content-wrapper, .reveal .cell.title .content-wrapper, #services .title.title-box .reveal .content-wrapper, .reveal #services .title.title-box .content-wrapper, #services .title.service-box .reveal .content-wrapper, .reveal #services .title.service-box .content-wrapper, .title.quote-block .reveal .content-wrapper, .reveal .title.quote-block .content-wrapper, #treners .title.title-box .reveal .content-wrapper, .reveal #treners .title.title-box .content-wrapper, #treners .title.trener-box .reveal .content-wrapper, .reveal #treners .title.trener-box .content-wrapper, #courses .title.title-box .reveal .content-wrapper, .reveal #courses .title.title-box .content-wrapper, #courses .title.course-box .reveal .content-wrapper, .reveal #courses .title.course-box .content-wrapper, .reveal .title.image .content-wrapper, #article-list .title.article .reveal .content-wrapper, .reveal #article-list .title.article .content-wrapper, .reveal .content-wrapper .content-wrapper, .price-lists .reveal .content-wrapper, .reveal .price-lists .content-wrapper, .grid-padding-x .price-lists, .cell.title .price-lists, #services .title.title-box .price-lists, #services .title.service-box .price-lists, .title.quote-block .price-lists, #treners .title.title-box .price-lists, #treners .title.trener-box .price-lists, #courses .title.title-box .price-lists, #courses .title.course-box .price-lists, .reveal .title.image .price-lists, #article-list .title.article .price-lists, .reveal .content-wrapper .price-lists, .price-lists .price-lists {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell, .cell.title > .cell, #services .title.title-box > .cell, #services .title.service-box > .cell, .title.quote-block > .cell, #treners .title.title-box > .cell, #treners .title.trener-box > .cell, #courses .title.title-box > .cell, #courses .title.course-box > .cell, .reveal .title.image > .cell, #article-list .title.article > .cell, .reveal .content-wrapper > .cell, .price-lists > .cell, #services .grid-padding-x > .title-box, #services .cell.title > .title-box, #services .title.title-box > .title-box, #services .title.service-box > .title-box, #services .title.quote-block > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.trener-box > .title-box, #services #treners .title.trener-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.course-box > .title-box, #services #courses .title.course-box > .title-box, .reveal #services .title.image > .title-box, #services .reveal .title.image > .title-box, #article-list #services .title.article > .title-box, #services #article-list .title.article > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .price-lists > .title-box, #services .grid-padding-x > .service-box, #services .cell.title > .service-box, #services .title.title-box > .service-box, #services .title.service-box > .service-box, #services .title.quote-block > .service-box, #treners #services .title.title-box > .service-box, #services #treners .title.title-box > .service-box, #treners #services .title.trener-box > .service-box, #services #treners .title.trener-box > .service-box, #courses #services .title.title-box > .service-box, #services #courses .title.title-box > .service-box, #courses #services .title.course-box > .service-box, #services #courses .title.course-box > .service-box, .reveal #services .title.image > .service-box, #services .reveal .title.image > .service-box, #article-list #services .title.article > .service-box, #services #article-list .title.article > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, #services .price-lists > .service-box, .grid-padding-x > .quote-block, .cell.title > .quote-block, #services .title.title-box > .quote-block, #services .title.service-box > .quote-block, .title.quote-block > .quote-block, #treners .title.title-box > .quote-block, #treners .title.trener-box > .quote-block, #courses .title.title-box > .quote-block, #courses .title.course-box > .quote-block, .reveal .title.image > .quote-block, #article-list .title.article > .quote-block, .reveal .content-wrapper > .quote-block, .price-lists > .quote-block, #treners .grid-padding-x > .title-box, #treners .cell.title > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.service-box > .title-box, #treners #services .title.service-box > .title-box, #treners .title.quote-block > .title-box, #treners .title.title-box > .title-box, #treners .title.trener-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.course-box > .title-box, #treners #courses .title.course-box > .title-box, .reveal #treners .title.image > .title-box, #treners .reveal .title.image > .title-box, #article-list #treners .title.article > .title-box, #treners #article-list .title.article > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .price-lists > .title-box, #treners .grid-padding-x > .trener-box, #treners .cell.title > .trener-box, #services #treners .title.title-box > .trener-box, #treners #services .title.title-box > .trener-box, #services #treners .title.service-box > .trener-box, #treners #services .title.service-box > .trener-box, #treners .title.quote-block > .trener-box, #treners .title.title-box > .trener-box, #treners .title.trener-box > .trener-box, #courses #treners .title.title-box > .trener-box, #treners #courses .title.title-box > .trener-box, #courses #treners .title.course-box > .trener-box, #treners #courses .title.course-box > .trener-box, .reveal #treners .title.image > .trener-box, #treners .reveal .title.image > .trener-box, #article-list #treners .title.article > .trener-box, #treners #article-list .title.article > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #treners .price-lists > .trener-box, #courses .grid-padding-x > .title-box, #courses .cell.title > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.service-box > .title-box, #courses #services .title.service-box > .title-box, #courses .title.quote-block > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.trener-box > .title-box, #courses #treners .title.trener-box > .title-box, #courses .title.title-box > .title-box, #courses .title.course-box > .title-box, .reveal #courses .title.image > .title-box, #courses .reveal .title.image > .title-box, #article-list #courses .title.article > .title-box, #courses #article-list .title.article > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .price-lists > .title-box, #courses .grid-padding-x > .course-box, #courses .cell.title > .course-box, #services #courses .title.title-box > .course-box, #courses #services .title.title-box > .course-box, #services #courses .title.service-box > .course-box, #courses #services .title.service-box > .course-box, #courses .title.quote-block > .course-box, #treners #courses .title.title-box > .course-box, #courses #treners .title.title-box > .course-box, #treners #courses .title.trener-box > .course-box, #courses #treners .title.trener-box > .course-box, #courses .title.title-box > .course-box, #courses .title.course-box > .course-box, .reveal #courses .title.image > .course-box, #courses .reveal .title.image > .course-box, #article-list #courses .title.article > .course-box, #courses #article-list .title.article > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, #courses .price-lists > .course-box, .reveal .grid-padding-x > .image, .reveal .cell.title > .image, #services .reveal .title.title-box > .image, .reveal #services .title.title-box > .image, #services .reveal .title.service-box > .image, .reveal #services .title.service-box > .image, .reveal .title.quote-block > .image, #treners .reveal .title.title-box > .image, .reveal #treners .title.title-box > .image, #treners .reveal .title.trener-box > .image, .reveal #treners .title.trener-box > .image, #courses .reveal .title.title-box > .image, .reveal #courses .title.title-box > .image, #courses .reveal .title.course-box > .image, .reveal #courses .title.course-box > .image, .reveal .title.image > .image, #article-list .reveal .title.article > .image, .reveal #article-list .title.article > .image, .reveal .content-wrapper > .image, .reveal .price-lists > .image, #article-list .grid-padding-x > .article, #article-list .cell.title > .article, #services #article-list .title.title-box > .article, #article-list #services .title.title-box > .article, #services #article-list .title.service-box > .article, #article-list #services .title.service-box > .article, #article-list .title.quote-block > .article, #treners #article-list .title.title-box > .article, #article-list #treners .title.title-box > .article, #treners #article-list .title.trener-box > .article, #article-list #treners .title.trener-box > .article, #courses #article-list .title.title-box > .article, #article-list #courses .title.title-box > .article, #courses #article-list .title.course-box > .article, #article-list #courses .title.course-box > .article, .reveal #article-list .title.image > .article, #article-list .reveal .title.image > .article, #article-list .title.article > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article, #article-list .price-lists > .article {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell, .cell.title > .cell, #services .title.title-box > .cell, #services .title.service-box > .cell, .title.quote-block > .cell, #treners .title.title-box > .cell, #treners .title.trener-box > .cell, #courses .title.title-box > .cell, #courses .title.course-box > .cell, .reveal .title.image > .cell, #article-list .title.article > .cell, .reveal .content-wrapper > .cell, .price-lists > .cell, #services .grid-padding-x > .title-box, #services .cell.title > .title-box, #services .title.title-box > .title-box, #services .title.service-box > .title-box, #services .title.quote-block > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.trener-box > .title-box, #services #treners .title.trener-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.course-box > .title-box, #services #courses .title.course-box > .title-box, .reveal #services .title.image > .title-box, #services .reveal .title.image > .title-box, #article-list #services .title.article > .title-box, #services #article-list .title.article > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .price-lists > .title-box, #services .grid-padding-x > .service-box, #services .cell.title > .service-box, #services .title.title-box > .service-box, #services .title.service-box > .service-box, #services .title.quote-block > .service-box, #treners #services .title.title-box > .service-box, #services #treners .title.title-box > .service-box, #treners #services .title.trener-box > .service-box, #services #treners .title.trener-box > .service-box, #courses #services .title.title-box > .service-box, #services #courses .title.title-box > .service-box, #courses #services .title.course-box > .service-box, #services #courses .title.course-box > .service-box, .reveal #services .title.image > .service-box, #services .reveal .title.image > .service-box, #article-list #services .title.article > .service-box, #services #article-list .title.article > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, #services .price-lists > .service-box, .grid-padding-x > .quote-block, .cell.title > .quote-block, #services .title.title-box > .quote-block, #services .title.service-box > .quote-block, .title.quote-block > .quote-block, #treners .title.title-box > .quote-block, #treners .title.trener-box > .quote-block, #courses .title.title-box > .quote-block, #courses .title.course-box > .quote-block, .reveal .title.image > .quote-block, #article-list .title.article > .quote-block, .reveal .content-wrapper > .quote-block, .price-lists > .quote-block, #treners .grid-padding-x > .title-box, #treners .cell.title > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.service-box > .title-box, #treners #services .title.service-box > .title-box, #treners .title.quote-block > .title-box, #treners .title.title-box > .title-box, #treners .title.trener-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.course-box > .title-box, #treners #courses .title.course-box > .title-box, .reveal #treners .title.image > .title-box, #treners .reveal .title.image > .title-box, #article-list #treners .title.article > .title-box, #treners #article-list .title.article > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .price-lists > .title-box, #treners .grid-padding-x > .trener-box, #treners .cell.title > .trener-box, #services #treners .title.title-box > .trener-box, #treners #services .title.title-box > .trener-box, #services #treners .title.service-box > .trener-box, #treners #services .title.service-box > .trener-box, #treners .title.quote-block > .trener-box, #treners .title.title-box > .trener-box, #treners .title.trener-box > .trener-box, #courses #treners .title.title-box > .trener-box, #treners #courses .title.title-box > .trener-box, #courses #treners .title.course-box > .trener-box, #treners #courses .title.course-box > .trener-box, .reveal #treners .title.image > .trener-box, #treners .reveal .title.image > .trener-box, #article-list #treners .title.article > .trener-box, #treners #article-list .title.article > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #treners .price-lists > .trener-box, #courses .grid-padding-x > .title-box, #courses .cell.title > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.service-box > .title-box, #courses #services .title.service-box > .title-box, #courses .title.quote-block > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.trener-box > .title-box, #courses #treners .title.trener-box > .title-box, #courses .title.title-box > .title-box, #courses .title.course-box > .title-box, .reveal #courses .title.image > .title-box, #courses .reveal .title.image > .title-box, #article-list #courses .title.article > .title-box, #courses #article-list .title.article > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .price-lists > .title-box, #courses .grid-padding-x > .course-box, #courses .cell.title > .course-box, #services #courses .title.title-box > .course-box, #courses #services .title.title-box > .course-box, #services #courses .title.service-box > .course-box, #courses #services .title.service-box > .course-box, #courses .title.quote-block > .course-box, #treners #courses .title.title-box > .course-box, #courses #treners .title.title-box > .course-box, #treners #courses .title.trener-box > .course-box, #courses #treners .title.trener-box > .course-box, #courses .title.title-box > .course-box, #courses .title.course-box > .course-box, .reveal #courses .title.image > .course-box, #courses .reveal .title.image > .course-box, #article-list #courses .title.article > .course-box, #courses #article-list .title.article > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, #courses .price-lists > .course-box, .reveal .grid-padding-x > .image, .reveal .cell.title > .image, #services .reveal .title.title-box > .image, .reveal #services .title.title-box > .image, #services .reveal .title.service-box > .image, .reveal #services .title.service-box > .image, .reveal .title.quote-block > .image, #treners .reveal .title.title-box > .image, .reveal #treners .title.title-box > .image, #treners .reveal .title.trener-box > .image, .reveal #treners .title.trener-box > .image, #courses .reveal .title.title-box > .image, .reveal #courses .title.title-box > .image, #courses .reveal .title.course-box > .image, .reveal #courses .title.course-box > .image, .reveal .title.image > .image, #article-list .reveal .title.article > .image, .reveal #article-list .title.article > .image, .reveal .content-wrapper > .image, .reveal .price-lists > .image, #article-list .grid-padding-x > .article, #article-list .cell.title > .article, #services #article-list .title.title-box > .article, #article-list #services .title.title-box > .article, #services #article-list .title.service-box > .article, #article-list #services .title.service-box > .article, #article-list .title.quote-block > .article, #treners #article-list .title.title-box > .article, #article-list #treners .title.title-box > .article, #treners #article-list .title.trener-box > .article, #article-list #treners .title.trener-box > .article, #courses #article-list .title.title-box > .article, #article-list #courses .title.title-box > .article, #courses #article-list .title.course-box > .article, #article-list #courses .title.course-box > .article, .reveal #article-list .title.image > .article, #article-list .reveal .title.image > .article, #article-list .title.article > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article, #article-list .price-lists > .article {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell, #services .small-up-1 > .title-box, #services .small-up-1 > .service-box, .small-up-1 > .quote-block, #treners .small-up-1 > .title-box, #treners .small-up-1 > .trener-box, #courses .small-up-1 > .title-box, #courses .small-up-1 > .course-box, .reveal .small-up-1 > .image, #article-list .small-up-1 > .article {
  width: 100%; }

.small-up-2 > .cell, #services .small-up-2 > .title-box, #services .small-up-2 > .service-box, .small-up-2 > .quote-block, #treners .small-up-2 > .title-box, #treners .small-up-2 > .trener-box, #courses .small-up-2 > .title-box, #courses .small-up-2 > .course-box, .reveal .small-up-2 > .image, #article-list .small-up-2 > .article {
  width: 50%; }

.small-up-3 > .cell, #services .small-up-3 > .title-box, #services .small-up-3 > .service-box, .small-up-3 > .quote-block, #treners .small-up-3 > .title-box, #treners .small-up-3 > .trener-box, #courses .small-up-3 > .title-box, #courses .small-up-3 > .course-box, .reveal .small-up-3 > .image, #article-list .small-up-3 > .article {
  width: 33.33333%; }

.small-up-4 > .cell, #services .small-up-4 > .title-box, #services .small-up-4 > .service-box, .small-up-4 > .quote-block, #treners .small-up-4 > .title-box, #treners .small-up-4 > .trener-box, #courses .small-up-4 > .title-box, #courses .small-up-4 > .course-box, .reveal .small-up-4 > .image, #article-list .small-up-4 > .article {
  width: 25%; }

.small-up-5 > .cell, #services .small-up-5 > .title-box, #services .small-up-5 > .service-box, .small-up-5 > .quote-block, #treners .small-up-5 > .title-box, #treners .small-up-5 > .trener-box, #courses .small-up-5 > .title-box, #courses .small-up-5 > .course-box, .reveal .small-up-5 > .image, #article-list .small-up-5 > .article {
  width: 20%; }

.small-up-6 > .cell, #services .small-up-6 > .title-box, #services .small-up-6 > .service-box, .small-up-6 > .quote-block, #treners .small-up-6 > .title-box, #treners .small-up-6 > .trener-box, #courses .small-up-6 > .title-box, #courses .small-up-6 > .course-box, .reveal .small-up-6 > .image, #article-list .small-up-6 > .article {
  width: 16.66667%; }

.small-up-7 > .cell, #services .small-up-7 > .title-box, #services .small-up-7 > .service-box, .small-up-7 > .quote-block, #treners .small-up-7 > .title-box, #treners .small-up-7 > .trener-box, #courses .small-up-7 > .title-box, #courses .small-up-7 > .course-box, .reveal .small-up-7 > .image, #article-list .small-up-7 > .article {
  width: 14.28571%; }

.small-up-8 > .cell, #services .small-up-8 > .title-box, #services .small-up-8 > .service-box, .small-up-8 > .quote-block, #treners .small-up-8 > .title-box, #treners .small-up-8 > .trener-box, #courses .small-up-8 > .title-box, #courses .small-up-8 > .course-box, .reveal .small-up-8 > .image, #article-list .small-up-8 > .article {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell, #services .medium-up-1 > .title-box, #services .medium-up-1 > .service-box, .medium-up-1 > .quote-block, #treners .medium-up-1 > .title-box, #treners .medium-up-1 > .trener-box, #courses .medium-up-1 > .title-box, #courses .medium-up-1 > .course-box, .reveal .medium-up-1 > .image, #article-list .medium-up-1 > .article {
    width: 100%; }
  .medium-up-2 > .cell, #services .medium-up-2 > .title-box, #services .medium-up-2 > .service-box, .medium-up-2 > .quote-block, #treners .medium-up-2 > .title-box, #treners .medium-up-2 > .trener-box, #courses .medium-up-2 > .title-box, #courses .medium-up-2 > .course-box, .reveal .medium-up-2 > .image, #article-list .medium-up-2 > .article {
    width: 50%; }
  .medium-up-3 > .cell, #services .medium-up-3 > .title-box, #services .medium-up-3 > .service-box, .medium-up-3 > .quote-block, #treners .medium-up-3 > .title-box, #treners .medium-up-3 > .trener-box, #courses .medium-up-3 > .title-box, #courses .medium-up-3 > .course-box, .reveal .medium-up-3 > .image, #article-list .medium-up-3 > .article {
    width: 33.33333%; }
  .medium-up-4 > .cell, #services .medium-up-4 > .title-box, #services .medium-up-4 > .service-box, .medium-up-4 > .quote-block, #treners .medium-up-4 > .title-box, #treners .medium-up-4 > .trener-box, #courses .medium-up-4 > .title-box, #courses .medium-up-4 > .course-box, .reveal .medium-up-4 > .image, #article-list .medium-up-4 > .article {
    width: 25%; }
  .medium-up-5 > .cell, #services .medium-up-5 > .title-box, #services .medium-up-5 > .service-box, .medium-up-5 > .quote-block, #treners .medium-up-5 > .title-box, #treners .medium-up-5 > .trener-box, #courses .medium-up-5 > .title-box, #courses .medium-up-5 > .course-box, .reveal .medium-up-5 > .image, #article-list .medium-up-5 > .article {
    width: 20%; }
  .medium-up-6 > .cell, #services .medium-up-6 > .title-box, #services .medium-up-6 > .service-box, .medium-up-6 > .quote-block, #treners .medium-up-6 > .title-box, #treners .medium-up-6 > .trener-box, #courses .medium-up-6 > .title-box, #courses .medium-up-6 > .course-box, .reveal .medium-up-6 > .image, #article-list .medium-up-6 > .article {
    width: 16.66667%; }
  .medium-up-7 > .cell, #services .medium-up-7 > .title-box, #services .medium-up-7 > .service-box, .medium-up-7 > .quote-block, #treners .medium-up-7 > .title-box, #treners .medium-up-7 > .trener-box, #courses .medium-up-7 > .title-box, #courses .medium-up-7 > .course-box, .reveal .medium-up-7 > .image, #article-list .medium-up-7 > .article {
    width: 14.28571%; }
  .medium-up-8 > .cell, #services .medium-up-8 > .title-box, #services .medium-up-8 > .service-box, .medium-up-8 > .quote-block, #treners .medium-up-8 > .title-box, #treners .medium-up-8 > .trener-box, #courses .medium-up-8 > .title-box, #courses .medium-up-8 > .course-box, .reveal .medium-up-8 > .image, #article-list .medium-up-8 > .article {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell, #services .large-up-1 > .title-box, #services .large-up-1 > .service-box, .large-up-1 > .quote-block, #treners .large-up-1 > .title-box, #treners .large-up-1 > .trener-box, #courses .large-up-1 > .title-box, #courses .large-up-1 > .course-box, .reveal .large-up-1 > .image, #article-list .large-up-1 > .article {
    width: 100%; }
  .large-up-2 > .cell, #services .large-up-2 > .title-box, #services .large-up-2 > .service-box, .large-up-2 > .quote-block, #treners .large-up-2 > .title-box, #treners .large-up-2 > .trener-box, #courses .large-up-2 > .title-box, #courses .large-up-2 > .course-box, .reveal .large-up-2 > .image, #article-list .large-up-2 > .article {
    width: 50%; }
  .large-up-3 > .cell, #services .large-up-3 > .title-box, #services .large-up-3 > .service-box, .large-up-3 > .quote-block, #treners .large-up-3 > .title-box, #treners .large-up-3 > .trener-box, #courses .large-up-3 > .title-box, #courses .large-up-3 > .course-box, .reveal .large-up-3 > .image, #article-list .large-up-3 > .article {
    width: 33.33333%; }
  .large-up-4 > .cell, #services .large-up-4 > .title-box, #services .large-up-4 > .service-box, .large-up-4 > .quote-block, #treners .large-up-4 > .title-box, #treners .large-up-4 > .trener-box, #courses .large-up-4 > .title-box, #courses .large-up-4 > .course-box, .reveal .large-up-4 > .image, #article-list .large-up-4 > .article {
    width: 25%; }
  .large-up-5 > .cell, #services .large-up-5 > .title-box, #services .large-up-5 > .service-box, .large-up-5 > .quote-block, #treners .large-up-5 > .title-box, #treners .large-up-5 > .trener-box, #courses .large-up-5 > .title-box, #courses .large-up-5 > .course-box, .reveal .large-up-5 > .image, #article-list .large-up-5 > .article {
    width: 20%; }
  .large-up-6 > .cell, #services .large-up-6 > .title-box, #services .large-up-6 > .service-box, .large-up-6 > .quote-block, #treners .large-up-6 > .title-box, #treners .large-up-6 > .trener-box, #courses .large-up-6 > .title-box, #courses .large-up-6 > .course-box, .reveal .large-up-6 > .image, #article-list .large-up-6 > .article {
    width: 16.66667%; }
  .large-up-7 > .cell, #services .large-up-7 > .title-box, #services .large-up-7 > .service-box, .large-up-7 > .quote-block, #treners .large-up-7 > .title-box, #treners .large-up-7 > .trener-box, #courses .large-up-7 > .title-box, #courses .large-up-7 > .course-box, .reveal .large-up-7 > .image, #article-list .large-up-7 > .article {
    width: 14.28571%; }
  .large-up-8 > .cell, #services .large-up-8 > .title-box, #services .large-up-8 > .service-box, .large-up-8 > .quote-block, #treners .large-up-8 > .title-box, #treners .large-up-8 > .trener-box, #courses .large-up-8 > .title-box, #courses .large-up-8 > .course-box, .reveal .large-up-8 > .image, #article-list .large-up-8 > .article {
    width: 12.5%; } }

@media screen and (min-width: 75em) {
  .xlarge-up-1 > .cell, #services .xlarge-up-1 > .title-box, #services .xlarge-up-1 > .service-box, .xlarge-up-1 > .quote-block, #treners .xlarge-up-1 > .title-box, #treners .xlarge-up-1 > .trener-box, #courses .xlarge-up-1 > .title-box, #courses .xlarge-up-1 > .course-box, .reveal .xlarge-up-1 > .image, #article-list .xlarge-up-1 > .article {
    width: 100%; }
  .xlarge-up-2 > .cell, #services .xlarge-up-2 > .title-box, #services .xlarge-up-2 > .service-box, .xlarge-up-2 > .quote-block, #treners .xlarge-up-2 > .title-box, #treners .xlarge-up-2 > .trener-box, #courses .xlarge-up-2 > .title-box, #courses .xlarge-up-2 > .course-box, .reveal .xlarge-up-2 > .image, #article-list .xlarge-up-2 > .article {
    width: 50%; }
  .xlarge-up-3 > .cell, #services .xlarge-up-3 > .title-box, #services .xlarge-up-3 > .service-box, .xlarge-up-3 > .quote-block, #treners .xlarge-up-3 > .title-box, #treners .xlarge-up-3 > .trener-box, #courses .xlarge-up-3 > .title-box, #courses .xlarge-up-3 > .course-box, .reveal .xlarge-up-3 > .image, #article-list .xlarge-up-3 > .article {
    width: 33.33333%; }
  .xlarge-up-4 > .cell, #services .xlarge-up-4 > .title-box, #services .xlarge-up-4 > .service-box, .xlarge-up-4 > .quote-block, #treners .xlarge-up-4 > .title-box, #treners .xlarge-up-4 > .trener-box, #courses .xlarge-up-4 > .title-box, #courses .xlarge-up-4 > .course-box, .reveal .xlarge-up-4 > .image, #article-list .xlarge-up-4 > .article {
    width: 25%; }
  .xlarge-up-5 > .cell, #services .xlarge-up-5 > .title-box, #services .xlarge-up-5 > .service-box, .xlarge-up-5 > .quote-block, #treners .xlarge-up-5 > .title-box, #treners .xlarge-up-5 > .trener-box, #courses .xlarge-up-5 > .title-box, #courses .xlarge-up-5 > .course-box, .reveal .xlarge-up-5 > .image, #article-list .xlarge-up-5 > .article {
    width: 20%; }
  .xlarge-up-6 > .cell, #services .xlarge-up-6 > .title-box, #services .xlarge-up-6 > .service-box, .xlarge-up-6 > .quote-block, #treners .xlarge-up-6 > .title-box, #treners .xlarge-up-6 > .trener-box, #courses .xlarge-up-6 > .title-box, #courses .xlarge-up-6 > .course-box, .reveal .xlarge-up-6 > .image, #article-list .xlarge-up-6 > .article {
    width: 16.66667%; }
  .xlarge-up-7 > .cell, #services .xlarge-up-7 > .title-box, #services .xlarge-up-7 > .service-box, .xlarge-up-7 > .quote-block, #treners .xlarge-up-7 > .title-box, #treners .xlarge-up-7 > .trener-box, #courses .xlarge-up-7 > .title-box, #courses .xlarge-up-7 > .course-box, .reveal .xlarge-up-7 > .image, #article-list .xlarge-up-7 > .article {
    width: 14.28571%; }
  .xlarge-up-8 > .cell, #services .xlarge-up-8 > .title-box, #services .xlarge-up-8 > .service-box, .xlarge-up-8 > .quote-block, #treners .xlarge-up-8 > .title-box, #treners .xlarge-up-8 > .trener-box, #courses .xlarge-up-8 > .title-box, #courses .xlarge-up-8 > .course-box, .reveal .xlarge-up-8 > .image, #article-list .xlarge-up-8 > .article {
    width: 12.5%; } }

@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell, #services .xxlarge-up-1 > .title-box, #services .xxlarge-up-1 > .service-box, .xxlarge-up-1 > .quote-block, #treners .xxlarge-up-1 > .title-box, #treners .xxlarge-up-1 > .trener-box, #courses .xxlarge-up-1 > .title-box, #courses .xxlarge-up-1 > .course-box, .reveal .xxlarge-up-1 > .image, #article-list .xxlarge-up-1 > .article {
    width: 100%; }
  .xxlarge-up-2 > .cell, #services .xxlarge-up-2 > .title-box, #services .xxlarge-up-2 > .service-box, .xxlarge-up-2 > .quote-block, #treners .xxlarge-up-2 > .title-box, #treners .xxlarge-up-2 > .trener-box, #courses .xxlarge-up-2 > .title-box, #courses .xxlarge-up-2 > .course-box, .reveal .xxlarge-up-2 > .image, #article-list .xxlarge-up-2 > .article {
    width: 50%; }
  .xxlarge-up-3 > .cell, #services .xxlarge-up-3 > .title-box, #services .xxlarge-up-3 > .service-box, .xxlarge-up-3 > .quote-block, #treners .xxlarge-up-3 > .title-box, #treners .xxlarge-up-3 > .trener-box, #courses .xxlarge-up-3 > .title-box, #courses .xxlarge-up-3 > .course-box, .reveal .xxlarge-up-3 > .image, #article-list .xxlarge-up-3 > .article {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell, #services .xxlarge-up-4 > .title-box, #services .xxlarge-up-4 > .service-box, .xxlarge-up-4 > .quote-block, #treners .xxlarge-up-4 > .title-box, #treners .xxlarge-up-4 > .trener-box, #courses .xxlarge-up-4 > .title-box, #courses .xxlarge-up-4 > .course-box, .reveal .xxlarge-up-4 > .image, #article-list .xxlarge-up-4 > .article {
    width: 25%; }
  .xxlarge-up-5 > .cell, #services .xxlarge-up-5 > .title-box, #services .xxlarge-up-5 > .service-box, .xxlarge-up-5 > .quote-block, #treners .xxlarge-up-5 > .title-box, #treners .xxlarge-up-5 > .trener-box, #courses .xxlarge-up-5 > .title-box, #courses .xxlarge-up-5 > .course-box, .reveal .xxlarge-up-5 > .image, #article-list .xxlarge-up-5 > .article {
    width: 20%; }
  .xxlarge-up-6 > .cell, #services .xxlarge-up-6 > .title-box, #services .xxlarge-up-6 > .service-box, .xxlarge-up-6 > .quote-block, #treners .xxlarge-up-6 > .title-box, #treners .xxlarge-up-6 > .trener-box, #courses .xxlarge-up-6 > .title-box, #courses .xxlarge-up-6 > .course-box, .reveal .xxlarge-up-6 > .image, #article-list .xxlarge-up-6 > .article {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell, #services .xxlarge-up-7 > .title-box, #services .xxlarge-up-7 > .service-box, .xxlarge-up-7 > .quote-block, #treners .xxlarge-up-7 > .title-box, #treners .xxlarge-up-7 > .trener-box, #courses .xxlarge-up-7 > .title-box, #courses .xxlarge-up-7 > .course-box, .reveal .xxlarge-up-7 > .image, #article-list .xxlarge-up-7 > .article {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell, #services .xxlarge-up-8 > .title-box, #services .xxlarge-up-8 > .service-box, .xxlarge-up-8 > .quote-block, #treners .xxlarge-up-8 > .title-box, #treners .xxlarge-up-8 > .trener-box, #courses .xxlarge-up-8 > .title-box, #courses .xxlarge-up-8 > .course-box, .reveal .xxlarge-up-8 > .image, #article-list .xxlarge-up-8 > .article {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell, #services .grid-margin-x.small-up-1 > .title-box, #services .grid-margin-x.small-up-1 > .service-box, .grid-margin-x.small-up-1 > .quote-block, #treners .grid-margin-x.small-up-1 > .title-box, #treners .grid-margin-x.small-up-1 > .trener-box, #courses .grid-margin-x.small-up-1 > .title-box, #courses .grid-margin-x.small-up-1 > .course-box, .reveal .grid-margin-x.small-up-1 > .image, #article-list .grid-margin-x.small-up-1 > .article {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell, #services .grid-margin-x.small-up-2 > .title-box, #services .grid-margin-x.small-up-2 > .service-box, .grid-margin-x.small-up-2 > .quote-block, #treners .grid-margin-x.small-up-2 > .title-box, #treners .grid-margin-x.small-up-2 > .trener-box, #courses .grid-margin-x.small-up-2 > .title-box, #courses .grid-margin-x.small-up-2 > .course-box, .reveal .grid-margin-x.small-up-2 > .image, #article-list .grid-margin-x.small-up-2 > .article {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell, #services .grid-margin-x.small-up-3 > .title-box, #services .grid-margin-x.small-up-3 > .service-box, .grid-margin-x.small-up-3 > .quote-block, #treners .grid-margin-x.small-up-3 > .title-box, #treners .grid-margin-x.small-up-3 > .trener-box, #courses .grid-margin-x.small-up-3 > .title-box, #courses .grid-margin-x.small-up-3 > .course-box, .reveal .grid-margin-x.small-up-3 > .image, #article-list .grid-margin-x.small-up-3 > .article {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell, #services .grid-margin-x.small-up-4 > .title-box, #services .grid-margin-x.small-up-4 > .service-box, .grid-margin-x.small-up-4 > .quote-block, #treners .grid-margin-x.small-up-4 > .title-box, #treners .grid-margin-x.small-up-4 > .trener-box, #courses .grid-margin-x.small-up-4 > .title-box, #courses .grid-margin-x.small-up-4 > .course-box, .reveal .grid-margin-x.small-up-4 > .image, #article-list .grid-margin-x.small-up-4 > .article {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell, #services .grid-margin-x.small-up-5 > .title-box, #services .grid-margin-x.small-up-5 > .service-box, .grid-margin-x.small-up-5 > .quote-block, #treners .grid-margin-x.small-up-5 > .title-box, #treners .grid-margin-x.small-up-5 > .trener-box, #courses .grid-margin-x.small-up-5 > .title-box, #courses .grid-margin-x.small-up-5 > .course-box, .reveal .grid-margin-x.small-up-5 > .image, #article-list .grid-margin-x.small-up-5 > .article {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell, #services .grid-margin-x.small-up-6 > .title-box, #services .grid-margin-x.small-up-6 > .service-box, .grid-margin-x.small-up-6 > .quote-block, #treners .grid-margin-x.small-up-6 > .title-box, #treners .grid-margin-x.small-up-6 > .trener-box, #courses .grid-margin-x.small-up-6 > .title-box, #courses .grid-margin-x.small-up-6 > .course-box, .reveal .grid-margin-x.small-up-6 > .image, #article-list .grid-margin-x.small-up-6 > .article {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell, #services .grid-margin-x.small-up-7 > .title-box, #services .grid-margin-x.small-up-7 > .service-box, .grid-margin-x.small-up-7 > .quote-block, #treners .grid-margin-x.small-up-7 > .title-box, #treners .grid-margin-x.small-up-7 > .trener-box, #courses .grid-margin-x.small-up-7 > .title-box, #courses .grid-margin-x.small-up-7 > .course-box, .reveal .grid-margin-x.small-up-7 > .image, #article-list .grid-margin-x.small-up-7 > .article {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell, #services .grid-margin-x.small-up-8 > .title-box, #services .grid-margin-x.small-up-8 > .service-box, .grid-margin-x.small-up-8 > .quote-block, #treners .grid-margin-x.small-up-8 > .title-box, #treners .grid-margin-x.small-up-8 > .trener-box, #courses .grid-margin-x.small-up-8 > .title-box, #courses .grid-margin-x.small-up-8 > .course-box, .reveal .grid-margin-x.small-up-8 > .image, #article-list .grid-margin-x.small-up-8 > .article {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell, #services .grid-margin-x.small-up-1 > .title-box, #services .grid-margin-x.small-up-1 > .service-box, .grid-margin-x.small-up-1 > .quote-block, #treners .grid-margin-x.small-up-1 > .title-box, #treners .grid-margin-x.small-up-1 > .trener-box, #courses .grid-margin-x.small-up-1 > .title-box, #courses .grid-margin-x.small-up-1 > .course-box, .reveal .grid-margin-x.small-up-1 > .image, #article-list .grid-margin-x.small-up-1 > .article {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell, #services .grid-margin-x.small-up-2 > .title-box, #services .grid-margin-x.small-up-2 > .service-box, .grid-margin-x.small-up-2 > .quote-block, #treners .grid-margin-x.small-up-2 > .title-box, #treners .grid-margin-x.small-up-2 > .trener-box, #courses .grid-margin-x.small-up-2 > .title-box, #courses .grid-margin-x.small-up-2 > .course-box, .reveal .grid-margin-x.small-up-2 > .image, #article-list .grid-margin-x.small-up-2 > .article {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell, #services .grid-margin-x.small-up-3 > .title-box, #services .grid-margin-x.small-up-3 > .service-box, .grid-margin-x.small-up-3 > .quote-block, #treners .grid-margin-x.small-up-3 > .title-box, #treners .grid-margin-x.small-up-3 > .trener-box, #courses .grid-margin-x.small-up-3 > .title-box, #courses .grid-margin-x.small-up-3 > .course-box, .reveal .grid-margin-x.small-up-3 > .image, #article-list .grid-margin-x.small-up-3 > .article {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell, #services .grid-margin-x.small-up-4 > .title-box, #services .grid-margin-x.small-up-4 > .service-box, .grid-margin-x.small-up-4 > .quote-block, #treners .grid-margin-x.small-up-4 > .title-box, #treners .grid-margin-x.small-up-4 > .trener-box, #courses .grid-margin-x.small-up-4 > .title-box, #courses .grid-margin-x.small-up-4 > .course-box, .reveal .grid-margin-x.small-up-4 > .image, #article-list .grid-margin-x.small-up-4 > .article {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell, #services .grid-margin-x.small-up-5 > .title-box, #services .grid-margin-x.small-up-5 > .service-box, .grid-margin-x.small-up-5 > .quote-block, #treners .grid-margin-x.small-up-5 > .title-box, #treners .grid-margin-x.small-up-5 > .trener-box, #courses .grid-margin-x.small-up-5 > .title-box, #courses .grid-margin-x.small-up-5 > .course-box, .reveal .grid-margin-x.small-up-5 > .image, #article-list .grid-margin-x.small-up-5 > .article {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell, #services .grid-margin-x.small-up-6 > .title-box, #services .grid-margin-x.small-up-6 > .service-box, .grid-margin-x.small-up-6 > .quote-block, #treners .grid-margin-x.small-up-6 > .title-box, #treners .grid-margin-x.small-up-6 > .trener-box, #courses .grid-margin-x.small-up-6 > .title-box, #courses .grid-margin-x.small-up-6 > .course-box, .reveal .grid-margin-x.small-up-6 > .image, #article-list .grid-margin-x.small-up-6 > .article {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell, #services .grid-margin-x.small-up-7 > .title-box, #services .grid-margin-x.small-up-7 > .service-box, .grid-margin-x.small-up-7 > .quote-block, #treners .grid-margin-x.small-up-7 > .title-box, #treners .grid-margin-x.small-up-7 > .trener-box, #courses .grid-margin-x.small-up-7 > .title-box, #courses .grid-margin-x.small-up-7 > .course-box, .reveal .grid-margin-x.small-up-7 > .image, #article-list .grid-margin-x.small-up-7 > .article {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell, #services .grid-margin-x.small-up-8 > .title-box, #services .grid-margin-x.small-up-8 > .service-box, .grid-margin-x.small-up-8 > .quote-block, #treners .grid-margin-x.small-up-8 > .title-box, #treners .grid-margin-x.small-up-8 > .trener-box, #courses .grid-margin-x.small-up-8 > .title-box, #courses .grid-margin-x.small-up-8 > .course-box, .reveal .grid-margin-x.small-up-8 > .image, #article-list .grid-margin-x.small-up-8 > .article {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.medium-up-1 > .cell, #services .grid-margin-x.medium-up-1 > .title-box, #services .grid-margin-x.medium-up-1 > .service-box, .grid-margin-x.medium-up-1 > .quote-block, #treners .grid-margin-x.medium-up-1 > .title-box, #treners .grid-margin-x.medium-up-1 > .trener-box, #courses .grid-margin-x.medium-up-1 > .title-box, #courses .grid-margin-x.medium-up-1 > .course-box, .reveal .grid-margin-x.medium-up-1 > .image, #article-list .grid-margin-x.medium-up-1 > .article {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell, #services .grid-margin-x.medium-up-2 > .title-box, #services .grid-margin-x.medium-up-2 > .service-box, .grid-margin-x.medium-up-2 > .quote-block, #treners .grid-margin-x.medium-up-2 > .title-box, #treners .grid-margin-x.medium-up-2 > .trener-box, #courses .grid-margin-x.medium-up-2 > .title-box, #courses .grid-margin-x.medium-up-2 > .course-box, .reveal .grid-margin-x.medium-up-2 > .image, #article-list .grid-margin-x.medium-up-2 > .article {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell, #services .grid-margin-x.medium-up-3 > .title-box, #services .grid-margin-x.medium-up-3 > .service-box, .grid-margin-x.medium-up-3 > .quote-block, #treners .grid-margin-x.medium-up-3 > .title-box, #treners .grid-margin-x.medium-up-3 > .trener-box, #courses .grid-margin-x.medium-up-3 > .title-box, #courses .grid-margin-x.medium-up-3 > .course-box, .reveal .grid-margin-x.medium-up-3 > .image, #article-list .grid-margin-x.medium-up-3 > .article {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell, #services .grid-margin-x.medium-up-4 > .title-box, #services .grid-margin-x.medium-up-4 > .service-box, .grid-margin-x.medium-up-4 > .quote-block, #treners .grid-margin-x.medium-up-4 > .title-box, #treners .grid-margin-x.medium-up-4 > .trener-box, #courses .grid-margin-x.medium-up-4 > .title-box, #courses .grid-margin-x.medium-up-4 > .course-box, .reveal .grid-margin-x.medium-up-4 > .image, #article-list .grid-margin-x.medium-up-4 > .article {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell, #services .grid-margin-x.medium-up-5 > .title-box, #services .grid-margin-x.medium-up-5 > .service-box, .grid-margin-x.medium-up-5 > .quote-block, #treners .grid-margin-x.medium-up-5 > .title-box, #treners .grid-margin-x.medium-up-5 > .trener-box, #courses .grid-margin-x.medium-up-5 > .title-box, #courses .grid-margin-x.medium-up-5 > .course-box, .reveal .grid-margin-x.medium-up-5 > .image, #article-list .grid-margin-x.medium-up-5 > .article {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell, #services .grid-margin-x.medium-up-6 > .title-box, #services .grid-margin-x.medium-up-6 > .service-box, .grid-margin-x.medium-up-6 > .quote-block, #treners .grid-margin-x.medium-up-6 > .title-box, #treners .grid-margin-x.medium-up-6 > .trener-box, #courses .grid-margin-x.medium-up-6 > .title-box, #courses .grid-margin-x.medium-up-6 > .course-box, .reveal .grid-margin-x.medium-up-6 > .image, #article-list .grid-margin-x.medium-up-6 > .article {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell, #services .grid-margin-x.medium-up-7 > .title-box, #services .grid-margin-x.medium-up-7 > .service-box, .grid-margin-x.medium-up-7 > .quote-block, #treners .grid-margin-x.medium-up-7 > .title-box, #treners .grid-margin-x.medium-up-7 > .trener-box, #courses .grid-margin-x.medium-up-7 > .title-box, #courses .grid-margin-x.medium-up-7 > .course-box, .reveal .grid-margin-x.medium-up-7 > .image, #article-list .grid-margin-x.medium-up-7 > .article {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell, #services .grid-margin-x.medium-up-8 > .title-box, #services .grid-margin-x.medium-up-8 > .service-box, .grid-margin-x.medium-up-8 > .quote-block, #treners .grid-margin-x.medium-up-8 > .title-box, #treners .grid-margin-x.medium-up-8 > .trener-box, #courses .grid-margin-x.medium-up-8 > .title-box, #courses .grid-margin-x.medium-up-8 > .course-box, .reveal .grid-margin-x.medium-up-8 > .image, #article-list .grid-margin-x.medium-up-8 > .article {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell, #services .grid-margin-x.large-up-1 > .title-box, #services .grid-margin-x.large-up-1 > .service-box, .grid-margin-x.large-up-1 > .quote-block, #treners .grid-margin-x.large-up-1 > .title-box, #treners .grid-margin-x.large-up-1 > .trener-box, #courses .grid-margin-x.large-up-1 > .title-box, #courses .grid-margin-x.large-up-1 > .course-box, .reveal .grid-margin-x.large-up-1 > .image, #article-list .grid-margin-x.large-up-1 > .article {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell, #services .grid-margin-x.large-up-2 > .title-box, #services .grid-margin-x.large-up-2 > .service-box, .grid-margin-x.large-up-2 > .quote-block, #treners .grid-margin-x.large-up-2 > .title-box, #treners .grid-margin-x.large-up-2 > .trener-box, #courses .grid-margin-x.large-up-2 > .title-box, #courses .grid-margin-x.large-up-2 > .course-box, .reveal .grid-margin-x.large-up-2 > .image, #article-list .grid-margin-x.large-up-2 > .article {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell, #services .grid-margin-x.large-up-3 > .title-box, #services .grid-margin-x.large-up-3 > .service-box, .grid-margin-x.large-up-3 > .quote-block, #treners .grid-margin-x.large-up-3 > .title-box, #treners .grid-margin-x.large-up-3 > .trener-box, #courses .grid-margin-x.large-up-3 > .title-box, #courses .grid-margin-x.large-up-3 > .course-box, .reveal .grid-margin-x.large-up-3 > .image, #article-list .grid-margin-x.large-up-3 > .article {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell, #services .grid-margin-x.large-up-4 > .title-box, #services .grid-margin-x.large-up-4 > .service-box, .grid-margin-x.large-up-4 > .quote-block, #treners .grid-margin-x.large-up-4 > .title-box, #treners .grid-margin-x.large-up-4 > .trener-box, #courses .grid-margin-x.large-up-4 > .title-box, #courses .grid-margin-x.large-up-4 > .course-box, .reveal .grid-margin-x.large-up-4 > .image, #article-list .grid-margin-x.large-up-4 > .article {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell, #services .grid-margin-x.large-up-5 > .title-box, #services .grid-margin-x.large-up-5 > .service-box, .grid-margin-x.large-up-5 > .quote-block, #treners .grid-margin-x.large-up-5 > .title-box, #treners .grid-margin-x.large-up-5 > .trener-box, #courses .grid-margin-x.large-up-5 > .title-box, #courses .grid-margin-x.large-up-5 > .course-box, .reveal .grid-margin-x.large-up-5 > .image, #article-list .grid-margin-x.large-up-5 > .article {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell, #services .grid-margin-x.large-up-6 > .title-box, #services .grid-margin-x.large-up-6 > .service-box, .grid-margin-x.large-up-6 > .quote-block, #treners .grid-margin-x.large-up-6 > .title-box, #treners .grid-margin-x.large-up-6 > .trener-box, #courses .grid-margin-x.large-up-6 > .title-box, #courses .grid-margin-x.large-up-6 > .course-box, .reveal .grid-margin-x.large-up-6 > .image, #article-list .grid-margin-x.large-up-6 > .article {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell, #services .grid-margin-x.large-up-7 > .title-box, #services .grid-margin-x.large-up-7 > .service-box, .grid-margin-x.large-up-7 > .quote-block, #treners .grid-margin-x.large-up-7 > .title-box, #treners .grid-margin-x.large-up-7 > .trener-box, #courses .grid-margin-x.large-up-7 > .title-box, #courses .grid-margin-x.large-up-7 > .course-box, .reveal .grid-margin-x.large-up-7 > .image, #article-list .grid-margin-x.large-up-7 > .article {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell, #services .grid-margin-x.large-up-8 > .title-box, #services .grid-margin-x.large-up-8 > .service-box, .grid-margin-x.large-up-8 > .quote-block, #treners .grid-margin-x.large-up-8 > .title-box, #treners .grid-margin-x.large-up-8 > .trener-box, #courses .grid-margin-x.large-up-8 > .title-box, #courses .grid-margin-x.large-up-8 > .course-box, .reveal .grid-margin-x.large-up-8 > .image, #article-list .grid-margin-x.large-up-8 > .article {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 75em) {
  .grid-margin-x.xlarge-up-1 > .cell, #services .grid-margin-x.xlarge-up-1 > .title-box, #services .grid-margin-x.xlarge-up-1 > .service-box, .grid-margin-x.xlarge-up-1 > .quote-block, #treners .grid-margin-x.xlarge-up-1 > .title-box, #treners .grid-margin-x.xlarge-up-1 > .trener-box, #courses .grid-margin-x.xlarge-up-1 > .title-box, #courses .grid-margin-x.xlarge-up-1 > .course-box, .reveal .grid-margin-x.xlarge-up-1 > .image, #article-list .grid-margin-x.xlarge-up-1 > .article {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xlarge-up-2 > .cell, #services .grid-margin-x.xlarge-up-2 > .title-box, #services .grid-margin-x.xlarge-up-2 > .service-box, .grid-margin-x.xlarge-up-2 > .quote-block, #treners .grid-margin-x.xlarge-up-2 > .title-box, #treners .grid-margin-x.xlarge-up-2 > .trener-box, #courses .grid-margin-x.xlarge-up-2 > .title-box, #courses .grid-margin-x.xlarge-up-2 > .course-box, .reveal .grid-margin-x.xlarge-up-2 > .image, #article-list .grid-margin-x.xlarge-up-2 > .article {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xlarge-up-3 > .cell, #services .grid-margin-x.xlarge-up-3 > .title-box, #services .grid-margin-x.xlarge-up-3 > .service-box, .grid-margin-x.xlarge-up-3 > .quote-block, #treners .grid-margin-x.xlarge-up-3 > .title-box, #treners .grid-margin-x.xlarge-up-3 > .trener-box, #courses .grid-margin-x.xlarge-up-3 > .title-box, #courses .grid-margin-x.xlarge-up-3 > .course-box, .reveal .grid-margin-x.xlarge-up-3 > .image, #article-list .grid-margin-x.xlarge-up-3 > .article {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xlarge-up-4 > .cell, #services .grid-margin-x.xlarge-up-4 > .title-box, #services .grid-margin-x.xlarge-up-4 > .service-box, .grid-margin-x.xlarge-up-4 > .quote-block, #treners .grid-margin-x.xlarge-up-4 > .title-box, #treners .grid-margin-x.xlarge-up-4 > .trener-box, #courses .grid-margin-x.xlarge-up-4 > .title-box, #courses .grid-margin-x.xlarge-up-4 > .course-box, .reveal .grid-margin-x.xlarge-up-4 > .image, #article-list .grid-margin-x.xlarge-up-4 > .article {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xlarge-up-5 > .cell, #services .grid-margin-x.xlarge-up-5 > .title-box, #services .grid-margin-x.xlarge-up-5 > .service-box, .grid-margin-x.xlarge-up-5 > .quote-block, #treners .grid-margin-x.xlarge-up-5 > .title-box, #treners .grid-margin-x.xlarge-up-5 > .trener-box, #courses .grid-margin-x.xlarge-up-5 > .title-box, #courses .grid-margin-x.xlarge-up-5 > .course-box, .reveal .grid-margin-x.xlarge-up-5 > .image, #article-list .grid-margin-x.xlarge-up-5 > .article {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xlarge-up-6 > .cell, #services .grid-margin-x.xlarge-up-6 > .title-box, #services .grid-margin-x.xlarge-up-6 > .service-box, .grid-margin-x.xlarge-up-6 > .quote-block, #treners .grid-margin-x.xlarge-up-6 > .title-box, #treners .grid-margin-x.xlarge-up-6 > .trener-box, #courses .grid-margin-x.xlarge-up-6 > .title-box, #courses .grid-margin-x.xlarge-up-6 > .course-box, .reveal .grid-margin-x.xlarge-up-6 > .image, #article-list .grid-margin-x.xlarge-up-6 > .article {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xlarge-up-7 > .cell, #services .grid-margin-x.xlarge-up-7 > .title-box, #services .grid-margin-x.xlarge-up-7 > .service-box, .grid-margin-x.xlarge-up-7 > .quote-block, #treners .grid-margin-x.xlarge-up-7 > .title-box, #treners .grid-margin-x.xlarge-up-7 > .trener-box, #courses .grid-margin-x.xlarge-up-7 > .title-box, #courses .grid-margin-x.xlarge-up-7 > .course-box, .reveal .grid-margin-x.xlarge-up-7 > .image, #article-list .grid-margin-x.xlarge-up-7 > .article {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xlarge-up-8 > .cell, #services .grid-margin-x.xlarge-up-8 > .title-box, #services .grid-margin-x.xlarge-up-8 > .service-box, .grid-margin-x.xlarge-up-8 > .quote-block, #treners .grid-margin-x.xlarge-up-8 > .title-box, #treners .grid-margin-x.xlarge-up-8 > .trener-box, #courses .grid-margin-x.xlarge-up-8 > .title-box, #courses .grid-margin-x.xlarge-up-8 > .course-box, .reveal .grid-margin-x.xlarge-up-8 > .image, #article-list .grid-margin-x.xlarge-up-8 > .article {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-x.xxlarge-up-1 > .cell, #services .grid-margin-x.xxlarge-up-1 > .title-box, #services .grid-margin-x.xxlarge-up-1 > .service-box, .grid-margin-x.xxlarge-up-1 > .quote-block, #treners .grid-margin-x.xxlarge-up-1 > .title-box, #treners .grid-margin-x.xxlarge-up-1 > .trener-box, #courses .grid-margin-x.xxlarge-up-1 > .title-box, #courses .grid-margin-x.xxlarge-up-1 > .course-box, .reveal .grid-margin-x.xxlarge-up-1 > .image, #article-list .grid-margin-x.xxlarge-up-1 > .article {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xxlarge-up-2 > .cell, #services .grid-margin-x.xxlarge-up-2 > .title-box, #services .grid-margin-x.xxlarge-up-2 > .service-box, .grid-margin-x.xxlarge-up-2 > .quote-block, #treners .grid-margin-x.xxlarge-up-2 > .title-box, #treners .grid-margin-x.xxlarge-up-2 > .trener-box, #courses .grid-margin-x.xxlarge-up-2 > .title-box, #courses .grid-margin-x.xxlarge-up-2 > .course-box, .reveal .grid-margin-x.xxlarge-up-2 > .image, #article-list .grid-margin-x.xxlarge-up-2 > .article {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xxlarge-up-3 > .cell, #services .grid-margin-x.xxlarge-up-3 > .title-box, #services .grid-margin-x.xxlarge-up-3 > .service-box, .grid-margin-x.xxlarge-up-3 > .quote-block, #treners .grid-margin-x.xxlarge-up-3 > .title-box, #treners .grid-margin-x.xxlarge-up-3 > .trener-box, #courses .grid-margin-x.xxlarge-up-3 > .title-box, #courses .grid-margin-x.xxlarge-up-3 > .course-box, .reveal .grid-margin-x.xxlarge-up-3 > .image, #article-list .grid-margin-x.xxlarge-up-3 > .article {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xxlarge-up-4 > .cell, #services .grid-margin-x.xxlarge-up-4 > .title-box, #services .grid-margin-x.xxlarge-up-4 > .service-box, .grid-margin-x.xxlarge-up-4 > .quote-block, #treners .grid-margin-x.xxlarge-up-4 > .title-box, #treners .grid-margin-x.xxlarge-up-4 > .trener-box, #courses .grid-margin-x.xxlarge-up-4 > .title-box, #courses .grid-margin-x.xxlarge-up-4 > .course-box, .reveal .grid-margin-x.xxlarge-up-4 > .image, #article-list .grid-margin-x.xxlarge-up-4 > .article {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xxlarge-up-5 > .cell, #services .grid-margin-x.xxlarge-up-5 > .title-box, #services .grid-margin-x.xxlarge-up-5 > .service-box, .grid-margin-x.xxlarge-up-5 > .quote-block, #treners .grid-margin-x.xxlarge-up-5 > .title-box, #treners .grid-margin-x.xxlarge-up-5 > .trener-box, #courses .grid-margin-x.xxlarge-up-5 > .title-box, #courses .grid-margin-x.xxlarge-up-5 > .course-box, .reveal .grid-margin-x.xxlarge-up-5 > .image, #article-list .grid-margin-x.xxlarge-up-5 > .article {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xxlarge-up-6 > .cell, #services .grid-margin-x.xxlarge-up-6 > .title-box, #services .grid-margin-x.xxlarge-up-6 > .service-box, .grid-margin-x.xxlarge-up-6 > .quote-block, #treners .grid-margin-x.xxlarge-up-6 > .title-box, #treners .grid-margin-x.xxlarge-up-6 > .trener-box, #courses .grid-margin-x.xxlarge-up-6 > .title-box, #courses .grid-margin-x.xxlarge-up-6 > .course-box, .reveal .grid-margin-x.xxlarge-up-6 > .image, #article-list .grid-margin-x.xxlarge-up-6 > .article {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xxlarge-up-7 > .cell, #services .grid-margin-x.xxlarge-up-7 > .title-box, #services .grid-margin-x.xxlarge-up-7 > .service-box, .grid-margin-x.xxlarge-up-7 > .quote-block, #treners .grid-margin-x.xxlarge-up-7 > .title-box, #treners .grid-margin-x.xxlarge-up-7 > .trener-box, #courses .grid-margin-x.xxlarge-up-7 > .title-box, #courses .grid-margin-x.xxlarge-up-7 > .course-box, .reveal .grid-margin-x.xxlarge-up-7 > .image, #article-list .grid-margin-x.xxlarge-up-7 > .article {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xxlarge-up-8 > .cell, #services .grid-margin-x.xxlarge-up-8 > .title-box, #services .grid-margin-x.xxlarge-up-8 > .service-box, .grid-margin-x.xxlarge-up-8 > .quote-block, #treners .grid-margin-x.xxlarge-up-8 > .title-box, #treners .grid-margin-x.xxlarge-up-8 > .trener-box, #courses .grid-margin-x.xxlarge-up-8 > .title-box, #courses .grid-margin-x.xxlarge-up-8 > .course-box, .reveal .grid-margin-x.xxlarge-up-8 > .image, #article-list .grid-margin-x.xxlarge-up-8 > .article {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell, #services .small-margin-collapse > .title-box, #services .small-margin-collapse > .service-box, .small-margin-collapse > .quote-block, #treners .small-margin-collapse > .title-box, #treners .small-margin-collapse > .trener-box, #courses .small-margin-collapse > .title-box, #courses .small-margin-collapse > .course-box, .reveal .small-margin-collapse > .image, #article-list .small-margin-collapse > .article {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12, #about .small-margin-collapse > .gallery, #services .small-margin-collapse > .title-box, #services .small-margin-collapse > .service-box, #treners .small-margin-collapse > .title-box, #treners .small-margin-collapse > .trener-box, #courses .small-margin-collapse > .title-box, #courses .small-margin-collapse > .course-box, .small-margin-collapse > .cell.title, .small-margin-collapse > .title.quote-block, .reveal .small-margin-collapse > .image, #article-list .small-margin-collapse > .article {
    width: 100%; }
  .small-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .small-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .small-margin-collapse > .medium-3 {
    width: 25%; }
  .small-margin-collapse > .medium-4, #services .small-margin-collapse > .title-box, #services .small-margin-collapse > .service-box {
    width: 33.33333%; }
  .small-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .small-margin-collapse > .medium-6, #treners .small-margin-collapse > .title-box, #treners .small-margin-collapse > .trener-box, #courses .small-margin-collapse > .title-box, #courses .small-margin-collapse > .course-box, #article-list .small-margin-collapse > .article {
    width: 50%; }
  .small-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .small-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .small-margin-collapse > .medium-9 {
    width: 75%; }
  .small-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .small-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .small-margin-collapse > .medium-12, #about .small-margin-collapse > .gallery {
    width: 100%; }
  .small-margin-collapse > .large-1 {
    width: 8.33333%; }
  .small-margin-collapse > .large-2 {
    width: 16.66667%; }
  .small-margin-collapse > .large-3, #services .small-margin-collapse > .title-box, #services .small-margin-collapse > .service-box, #treners .small-margin-collapse > .title-box, #treners .small-margin-collapse > .trener-box, #courses .small-margin-collapse > .course-box, #article-list .small-margin-collapse > .article {
    width: 25%; }
  .small-margin-collapse > .large-4 {
    width: 33.33333%; }
  .small-margin-collapse > .large-5 {
    width: 41.66667%; }
  .small-margin-collapse > .large-6, #about .small-margin-collapse > .gallery, #courses .small-margin-collapse > .title-box {
    width: 50%; }
  .small-margin-collapse > .large-7 {
    width: 58.33333%; }
  .small-margin-collapse > .large-8 {
    width: 66.66667%; }
  .small-margin-collapse > .large-9 {
    width: 75%; }
  .small-margin-collapse > .large-10 {
    width: 83.33333%; }
  .small-margin-collapse > .large-11 {
    width: 91.66667%; }
  .small-margin-collapse > .large-12 {
    width: 100%; }
  .small-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .small-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .small-margin-collapse > .xlarge-3 {
    width: 25%; }
  .small-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .small-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .small-margin-collapse > .xlarge-6 {
    width: 50%; }
  .small-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .small-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .small-margin-collapse > .xlarge-9 {
    width: 75%; }
  .small-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .small-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .small-margin-collapse > .xlarge-12 {
    width: 100%; }
  .small-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .small-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .small-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .small-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .small-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .small-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .small-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .small-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .small-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .small-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .small-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .small-margin-collapse > .xxlarge-12 {
    width: 100%; }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell, #services .small-padding-collapse > .title-box, #services .small-padding-collapse > .service-box, .small-padding-collapse > .quote-block, #treners .small-padding-collapse > .title-box, #treners .small-padding-collapse > .trener-box, #courses .small-padding-collapse > .title-box, #courses .small-padding-collapse > .course-box, .reveal .small-padding-collapse > .image, #article-list .small-padding-collapse > .article {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell, #services .medium-margin-collapse > .title-box, #services .medium-margin-collapse > .service-box, .medium-margin-collapse > .quote-block, #treners .medium-margin-collapse > .title-box, #treners .medium-margin-collapse > .trener-box, #courses .medium-margin-collapse > .title-box, #courses .medium-margin-collapse > .course-box, .reveal .medium-margin-collapse > .image, #article-list .medium-margin-collapse > .article {
      margin-right: 0;
      margin-left: 0; }
    .medium-margin-collapse > .small-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .small-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .small-3 {
      width: 25%; }
    .medium-margin-collapse > .small-4 {
      width: 33.33333%; }
    .medium-margin-collapse > .small-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .small-6 {
      width: 50%; }
    .medium-margin-collapse > .small-7 {
      width: 58.33333%; }
    .medium-margin-collapse > .small-8 {
      width: 66.66667%; }
    .medium-margin-collapse > .small-9 {
      width: 75%; }
    .medium-margin-collapse > .small-10 {
      width: 83.33333%; }
    .medium-margin-collapse > .small-11 {
      width: 91.66667%; }
    .medium-margin-collapse > .small-12, #about .medium-margin-collapse > .gallery, #services .medium-margin-collapse > .title-box, #services .medium-margin-collapse > .service-box, #treners .medium-margin-collapse > .title-box, #treners .medium-margin-collapse > .trener-box, #courses .medium-margin-collapse > .title-box, #courses .medium-margin-collapse > .course-box, .medium-margin-collapse > .cell.title, .medium-margin-collapse > .title.quote-block, .reveal .medium-margin-collapse > .image, #article-list .medium-margin-collapse > .article {
      width: 100%; }
    .medium-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .medium-3 {
      width: 25%; }
    .medium-margin-collapse > .medium-4, #services .medium-margin-collapse > .title-box, #services .medium-margin-collapse > .service-box {
      width: 33.33333%; }
    .medium-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .medium-6, #treners .medium-margin-collapse > .title-box, #treners .medium-margin-collapse > .trener-box, #courses .medium-margin-collapse > .title-box, #courses .medium-margin-collapse > .course-box, #article-list .medium-margin-collapse > .article {
      width: 50%; }
    .medium-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .medium-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .medium-margin-collapse > .medium-9 {
      width: 75%; }
    .medium-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .medium-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .medium-margin-collapse > .medium-12, #about .medium-margin-collapse > .gallery {
      width: 100%; }
    .medium-margin-collapse > .large-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .large-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .large-3, #services .medium-margin-collapse > .title-box, #services .medium-margin-collapse > .service-box, #treners .medium-margin-collapse > .title-box, #treners .medium-margin-collapse > .trener-box, #courses .medium-margin-collapse > .course-box, #article-list .medium-margin-collapse > .article {
      width: 25%; }
    .medium-margin-collapse > .large-4 {
      width: 33.33333%; }
    .medium-margin-collapse > .large-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .large-6, #about .medium-margin-collapse > .gallery, #courses .medium-margin-collapse > .title-box {
      width: 50%; }
    .medium-margin-collapse > .large-7 {
      width: 58.33333%; }
    .medium-margin-collapse > .large-8 {
      width: 66.66667%; }
    .medium-margin-collapse > .large-9 {
      width: 75%; }
    .medium-margin-collapse > .large-10 {
      width: 83.33333%; }
    .medium-margin-collapse > .large-11 {
      width: 91.66667%; }
    .medium-margin-collapse > .large-12 {
      width: 100%; }
    .medium-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .xlarge-3 {
      width: 25%; }
    .medium-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .medium-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .xlarge-6 {
      width: 50%; }
    .medium-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .medium-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .medium-margin-collapse > .xlarge-9 {
      width: 75%; }
    .medium-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .medium-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .medium-margin-collapse > .xlarge-12 {
      width: 100%; }
    .medium-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .medium-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .medium-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .medium-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .medium-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .medium-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .medium-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .medium-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .medium-margin-collapse > .xxlarge-12 {
      width: 100%; }
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell, #services .medium-padding-collapse > .title-box, #services .medium-padding-collapse > .service-box, .medium-padding-collapse > .quote-block, #treners .medium-padding-collapse > .title-box, #treners .medium-padding-collapse > .trener-box, #courses .medium-padding-collapse > .title-box, #courses .medium-padding-collapse > .course-box, .reveal .medium-padding-collapse > .image, #article-list .medium-padding-collapse > .article {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell, #services .large-margin-collapse > .title-box, #services .large-margin-collapse > .service-box, .large-margin-collapse > .quote-block, #treners .large-margin-collapse > .title-box, #treners .large-margin-collapse > .trener-box, #courses .large-margin-collapse > .title-box, #courses .large-margin-collapse > .course-box, .reveal .large-margin-collapse > .image, #article-list .large-margin-collapse > .article {
      margin-right: 0;
      margin-left: 0; }
    .large-margin-collapse > .small-1 {
      width: 8.33333%; }
    .large-margin-collapse > .small-2 {
      width: 16.66667%; }
    .large-margin-collapse > .small-3 {
      width: 25%; }
    .large-margin-collapse > .small-4 {
      width: 33.33333%; }
    .large-margin-collapse > .small-5 {
      width: 41.66667%; }
    .large-margin-collapse > .small-6 {
      width: 50%; }
    .large-margin-collapse > .small-7 {
      width: 58.33333%; }
    .large-margin-collapse > .small-8 {
      width: 66.66667%; }
    .large-margin-collapse > .small-9 {
      width: 75%; }
    .large-margin-collapse > .small-10 {
      width: 83.33333%; }
    .large-margin-collapse > .small-11 {
      width: 91.66667%; }
    .large-margin-collapse > .small-12, #about .large-margin-collapse > .gallery, #services .large-margin-collapse > .title-box, #services .large-margin-collapse > .service-box, #treners .large-margin-collapse > .title-box, #treners .large-margin-collapse > .trener-box, #courses .large-margin-collapse > .title-box, #courses .large-margin-collapse > .course-box, .large-margin-collapse > .cell.title, .large-margin-collapse > .title.quote-block, .reveal .large-margin-collapse > .image, #article-list .large-margin-collapse > .article {
      width: 100%; }
    .large-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .large-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .large-margin-collapse > .medium-3 {
      width: 25%; }
    .large-margin-collapse > .medium-4, #services .large-margin-collapse > .title-box, #services .large-margin-collapse > .service-box {
      width: 33.33333%; }
    .large-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .large-margin-collapse > .medium-6, #treners .large-margin-collapse > .title-box, #treners .large-margin-collapse > .trener-box, #courses .large-margin-collapse > .title-box, #courses .large-margin-collapse > .course-box, #article-list .large-margin-collapse > .article {
      width: 50%; }
    .large-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .large-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .large-margin-collapse > .medium-9 {
      width: 75%; }
    .large-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .large-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .large-margin-collapse > .medium-12, #about .large-margin-collapse > .gallery {
      width: 100%; }
    .large-margin-collapse > .large-1 {
      width: 8.33333%; }
    .large-margin-collapse > .large-2 {
      width: 16.66667%; }
    .large-margin-collapse > .large-3, #services .large-margin-collapse > .title-box, #services .large-margin-collapse > .service-box, #treners .large-margin-collapse > .title-box, #treners .large-margin-collapse > .trener-box, #courses .large-margin-collapse > .course-box, #article-list .large-margin-collapse > .article {
      width: 25%; }
    .large-margin-collapse > .large-4 {
      width: 33.33333%; }
    .large-margin-collapse > .large-5 {
      width: 41.66667%; }
    .large-margin-collapse > .large-6, #about .large-margin-collapse > .gallery, #courses .large-margin-collapse > .title-box {
      width: 50%; }
    .large-margin-collapse > .large-7 {
      width: 58.33333%; }
    .large-margin-collapse > .large-8 {
      width: 66.66667%; }
    .large-margin-collapse > .large-9 {
      width: 75%; }
    .large-margin-collapse > .large-10 {
      width: 83.33333%; }
    .large-margin-collapse > .large-11 {
      width: 91.66667%; }
    .large-margin-collapse > .large-12 {
      width: 100%; }
    .large-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .large-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .large-margin-collapse > .xlarge-3 {
      width: 25%; }
    .large-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .large-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .large-margin-collapse > .xlarge-6 {
      width: 50%; }
    .large-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .large-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .large-margin-collapse > .xlarge-9 {
      width: 75%; }
    .large-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .large-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .large-margin-collapse > .xlarge-12 {
      width: 100%; }
    .large-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .large-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .large-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .large-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .large-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .large-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .large-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .large-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .large-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .large-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .large-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .large-margin-collapse > .xxlarge-12 {
      width: 100%; }
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell, #services .large-padding-collapse > .title-box, #services .large-padding-collapse > .service-box, .large-padding-collapse > .quote-block, #treners .large-padding-collapse > .title-box, #treners .large-padding-collapse > .trener-box, #courses .large-padding-collapse > .title-box, #courses .large-padding-collapse > .course-box, .reveal .large-padding-collapse > .image, #article-list .large-padding-collapse > .article {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell, #services .xlarge-margin-collapse > .title-box, #services .xlarge-margin-collapse > .service-box, .xlarge-margin-collapse > .quote-block, #treners .xlarge-margin-collapse > .title-box, #treners .xlarge-margin-collapse > .trener-box, #courses .xlarge-margin-collapse > .title-box, #courses .xlarge-margin-collapse > .course-box, .reveal .xlarge-margin-collapse > .image, #article-list .xlarge-margin-collapse > .article {
      margin-right: 0;
      margin-left: 0; }
    .xlarge-margin-collapse > .small-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .small-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .small-3 {
      width: 25%; }
    .xlarge-margin-collapse > .small-4 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .small-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .small-6 {
      width: 50%; }
    .xlarge-margin-collapse > .small-7 {
      width: 58.33333%; }
    .xlarge-margin-collapse > .small-8 {
      width: 66.66667%; }
    .xlarge-margin-collapse > .small-9 {
      width: 75%; }
    .xlarge-margin-collapse > .small-10 {
      width: 83.33333%; }
    .xlarge-margin-collapse > .small-11 {
      width: 91.66667%; }
    .xlarge-margin-collapse > .small-12, #about .xlarge-margin-collapse > .gallery, #services .xlarge-margin-collapse > .title-box, #services .xlarge-margin-collapse > .service-box, #treners .xlarge-margin-collapse > .title-box, #treners .xlarge-margin-collapse > .trener-box, #courses .xlarge-margin-collapse > .title-box, #courses .xlarge-margin-collapse > .course-box, .xlarge-margin-collapse > .cell.title, .xlarge-margin-collapse > .title.quote-block, .reveal .xlarge-margin-collapse > .image, #article-list .xlarge-margin-collapse > .article {
      width: 100%; }
    .xlarge-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .medium-3 {
      width: 25%; }
    .xlarge-margin-collapse > .medium-4, #services .xlarge-margin-collapse > .title-box, #services .xlarge-margin-collapse > .service-box {
      width: 33.33333%; }
    .xlarge-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .medium-6, #treners .xlarge-margin-collapse > .title-box, #treners .xlarge-margin-collapse > .trener-box, #courses .xlarge-margin-collapse > .title-box, #courses .xlarge-margin-collapse > .course-box, #article-list .xlarge-margin-collapse > .article {
      width: 50%; }
    .xlarge-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .xlarge-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .xlarge-margin-collapse > .medium-9 {
      width: 75%; }
    .xlarge-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .xlarge-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .xlarge-margin-collapse > .medium-12, #about .xlarge-margin-collapse > .gallery {
      width: 100%; }
    .xlarge-margin-collapse > .large-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .large-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .large-3, #services .xlarge-margin-collapse > .title-box, #services .xlarge-margin-collapse > .service-box, #treners .xlarge-margin-collapse > .title-box, #treners .xlarge-margin-collapse > .trener-box, #courses .xlarge-margin-collapse > .course-box, #article-list .xlarge-margin-collapse > .article {
      width: 25%; }
    .xlarge-margin-collapse > .large-4 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .large-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .large-6, #about .xlarge-margin-collapse > .gallery, #courses .xlarge-margin-collapse > .title-box {
      width: 50%; }
    .xlarge-margin-collapse > .large-7 {
      width: 58.33333%; }
    .xlarge-margin-collapse > .large-8 {
      width: 66.66667%; }
    .xlarge-margin-collapse > .large-9 {
      width: 75%; }
    .xlarge-margin-collapse > .large-10 {
      width: 83.33333%; }
    .xlarge-margin-collapse > .large-11 {
      width: 91.66667%; }
    .xlarge-margin-collapse > .large-12 {
      width: 100%; }
    .xlarge-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .xlarge-3 {
      width: 25%; }
    .xlarge-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .xlarge-6 {
      width: 50%; }
    .xlarge-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .xlarge-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .xlarge-margin-collapse > .xlarge-9 {
      width: 75%; }
    .xlarge-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .xlarge-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .xlarge-margin-collapse > .xlarge-12 {
      width: 100%; }
    .xlarge-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .xlarge-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .xlarge-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .xlarge-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .xlarge-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .xlarge-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .xlarge-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .xlarge-margin-collapse > .xxlarge-12 {
      width: 100%; }
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell, #services .xlarge-padding-collapse > .title-box, #services .xlarge-padding-collapse > .service-box, .xlarge-padding-collapse > .quote-block, #treners .xlarge-padding-collapse > .title-box, #treners .xlarge-padding-collapse > .trener-box, #courses .xlarge-padding-collapse > .title-box, #courses .xlarge-padding-collapse > .course-box, .reveal .xlarge-padding-collapse > .image, #article-list .xlarge-padding-collapse > .article {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 90em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell, #services .xxlarge-margin-collapse > .title-box, #services .xxlarge-margin-collapse > .service-box, .xxlarge-margin-collapse > .quote-block, #treners .xxlarge-margin-collapse > .title-box, #treners .xxlarge-margin-collapse > .trener-box, #courses .xxlarge-margin-collapse > .title-box, #courses .xxlarge-margin-collapse > .course-box, .reveal .xxlarge-margin-collapse > .image, #article-list .xxlarge-margin-collapse > .article {
      margin-right: 0;
      margin-left: 0; }
    .xxlarge-margin-collapse > .small-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .small-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .small-3 {
      width: 25%; }
    .xxlarge-margin-collapse > .small-4 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .small-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .small-6 {
      width: 50%; }
    .xxlarge-margin-collapse > .small-7 {
      width: 58.33333%; }
    .xxlarge-margin-collapse > .small-8 {
      width: 66.66667%; }
    .xxlarge-margin-collapse > .small-9 {
      width: 75%; }
    .xxlarge-margin-collapse > .small-10 {
      width: 83.33333%; }
    .xxlarge-margin-collapse > .small-11 {
      width: 91.66667%; }
    .xxlarge-margin-collapse > .small-12, #about .xxlarge-margin-collapse > .gallery, #services .xxlarge-margin-collapse > .title-box, #services .xxlarge-margin-collapse > .service-box, #treners .xxlarge-margin-collapse > .title-box, #treners .xxlarge-margin-collapse > .trener-box, #courses .xxlarge-margin-collapse > .title-box, #courses .xxlarge-margin-collapse > .course-box, .xxlarge-margin-collapse > .cell.title, .xxlarge-margin-collapse > .title.quote-block, .reveal .xxlarge-margin-collapse > .image, #article-list .xxlarge-margin-collapse > .article {
      width: 100%; }
    .xxlarge-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .medium-3 {
      width: 25%; }
    .xxlarge-margin-collapse > .medium-4, #services .xxlarge-margin-collapse > .title-box, #services .xxlarge-margin-collapse > .service-box {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .medium-6, #treners .xxlarge-margin-collapse > .title-box, #treners .xxlarge-margin-collapse > .trener-box, #courses .xxlarge-margin-collapse > .title-box, #courses .xxlarge-margin-collapse > .course-box, #article-list .xxlarge-margin-collapse > .article {
      width: 50%; }
    .xxlarge-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .xxlarge-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .xxlarge-margin-collapse > .medium-9 {
      width: 75%; }
    .xxlarge-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .xxlarge-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .xxlarge-margin-collapse > .medium-12, #about .xxlarge-margin-collapse > .gallery {
      width: 100%; }
    .xxlarge-margin-collapse > .large-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .large-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .large-3, #services .xxlarge-margin-collapse > .title-box, #services .xxlarge-margin-collapse > .service-box, #treners .xxlarge-margin-collapse > .title-box, #treners .xxlarge-margin-collapse > .trener-box, #courses .xxlarge-margin-collapse > .course-box, #article-list .xxlarge-margin-collapse > .article {
      width: 25%; }
    .xxlarge-margin-collapse > .large-4 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .large-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .large-6, #about .xxlarge-margin-collapse > .gallery, #courses .xxlarge-margin-collapse > .title-box {
      width: 50%; }
    .xxlarge-margin-collapse > .large-7 {
      width: 58.33333%; }
    .xxlarge-margin-collapse > .large-8 {
      width: 66.66667%; }
    .xxlarge-margin-collapse > .large-9 {
      width: 75%; }
    .xxlarge-margin-collapse > .large-10 {
      width: 83.33333%; }
    .xxlarge-margin-collapse > .large-11 {
      width: 91.66667%; }
    .xxlarge-margin-collapse > .large-12 {
      width: 100%; }
    .xxlarge-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .xlarge-3 {
      width: 25%; }
    .xxlarge-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .xlarge-6 {
      width: 50%; }
    .xxlarge-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .xxlarge-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .xxlarge-margin-collapse > .xlarge-9 {
      width: 75%; }
    .xxlarge-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .xxlarge-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .xxlarge-margin-collapse > .xlarge-12 {
      width: 100%; }
    .xxlarge-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .xxlarge-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .xxlarge-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .xxlarge-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .xxlarge-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .xxlarge-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .xxlarge-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .xxlarge-margin-collapse > .xxlarge-12 {
      width: 100%; }
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell, #services .xxlarge-padding-collapse > .title-box, #services .xxlarge-padding-collapse > .service-box, .xxlarge-padding-collapse > .quote-block, #treners .xxlarge-padding-collapse > .title-box, #treners .xxlarge-padding-collapse > .trener-box, #courses .xxlarge-padding-collapse > .title-box, #courses .xxlarge-padding-collapse > .course-box, .reveal .xxlarge-padding-collapse > .image, #article-list .xxlarge-padding-collapse > .article {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 75em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media screen and (min-width: 90em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell, #services .grid-y > .title-box, #services .grid-y > .service-box, .grid-y > .quote-block, #treners .grid-y > .title-box, #treners .grid-y > .trener-box, #courses .grid-y > .title-box, #courses .grid-y > .course-box, .reveal .grid-y > .image, #article-list .grid-y > .article {
    width: auto; }
  .grid-y > .auto, .grid-y > .quote-block {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > small-shrink, .grid-y > small-full, .grid-y > small-1, .grid-y > small-2, .grid-y > small-3, .grid-y > small-4, .grid-y > small-5, .grid-y > small-6, .grid-y > small-7, .grid-y > small-8, .grid-y > small-9, .grid-y > small-10, .grid-y > small-11, .grid-y > small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > medium-shrink, .grid-y > medium-full, .grid-y > medium-1, .grid-y > medium-2, .grid-y > medium-3, .grid-y > medium-4, .grid-y > medium-5, .grid-y > medium-6, .grid-y > medium-7, .grid-y > medium-8, .grid-y > medium-9, .grid-y > medium-10, .grid-y > medium-11, .grid-y > medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > large-shrink, .grid-y > large-full, .grid-y > large-1, .grid-y > large-2, .grid-y > large-3, .grid-y > large-4, .grid-y > large-5, .grid-y > large-6, .grid-y > large-7, .grid-y > large-8, .grid-y > large-9, .grid-y > large-10, .grid-y > large-11, .grid-y > large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 75em) {
    .grid-y > xlarge-shrink, .grid-y > xlarge-full, .grid-y > xlarge-1, .grid-y > xlarge-2, .grid-y > xlarge-3, .grid-y > xlarge-4, .grid-y > xlarge-5, .grid-y > xlarge-6, .grid-y > xlarge-7, .grid-y > xlarge-8, .grid-y > xlarge-9, .grid-y > xlarge-10, .grid-y > xlarge-11, .grid-y > xlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .grid-y > xxlarge-shrink, .grid-y > xxlarge-full, .grid-y > xxlarge-1, .grid-y > xxlarge-2, .grid-y > xxlarge-3, .grid-y > xxlarge-4, .grid-y > xxlarge-5, .grid-y > xxlarge-6, .grid-y > xxlarge-7, .grid-y > xxlarge-8, .grid-y > xxlarge-9, .grid-y > xxlarge-10, .grid-y > xxlarge-11, .grid-y > xxlarge-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12, #about .grid-y > .gallery, #services .grid-y > .title-box, #services .grid-y > .service-box, #treners .grid-y > .title-box, #treners .grid-y > .trener-box, #courses .grid-y > .title-box, #courses .grid-y > .course-box, .grid-y > .cell.title, .grid-y > .title.quote-block, .reveal .grid-y > .image, #article-list .grid-y > .article {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4, #services .grid-y > .title-box, #services .grid-y > .service-box {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6, #treners .grid-y > .title-box, #treners .grid-y > .trener-box, #courses .grid-y > .title-box, #courses .grid-y > .course-box, #article-list .grid-y > .article {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12, #about .grid-y > .gallery {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto, .reveal .grid-y > .image {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3, #services .grid-y > .title-box, #services .grid-y > .service-box, #treners .grid-y > .title-box, #treners .grid-y > .trener-box, #courses .grid-y > .course-box, #article-list .grid-y > .article {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6, #about .grid-y > .gallery, #courses .grid-y > .title-box {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y, .cell.title .grid-padding-y, #services .title.title-box .grid-padding-y, #services .title.service-box .grid-padding-y, .title.quote-block .grid-padding-y, #treners .title.title-box .grid-padding-y, #treners .title.trener-box .grid-padding-y, #courses .title.title-box .grid-padding-y, #courses .title.course-box .grid-padding-y, .reveal .title.image .grid-padding-y, #article-list .title.article .grid-padding-y, .reveal .content-wrapper .grid-padding-y, .grid-padding-y .cell.title, .cell.title .cell.title, #services .title.title-box .cell.title, #services .title.service-box .cell.title, .title.quote-block .cell.title, #treners .title.title-box .cell.title, #treners .title.trener-box .cell.title, #courses .title.title-box .cell.title, #courses .title.course-box .cell.title, .reveal .title.image .cell.title, #article-list .title.article .cell.title, .reveal .content-wrapper .cell.title, .grid-padding-y #services .title.title-box, #services .grid-padding-y .title.title-box, .cell.title #services .title.title-box, #services .cell.title .title.title-box, #services .title.title-box .title.title-box, #services .title.service-box .title.title-box, .title.quote-block #services .title.title-box, #services .title.quote-block .title.title-box, #treners .title.title-box #services .title.title-box, #services #treners .title.title-box .title.title-box, #treners .title.trener-box #services .title.title-box, #services #treners .title.trener-box .title.title-box, #courses .title.title-box #services .title.title-box, #services #courses .title.title-box .title.title-box, #courses .title.course-box #services .title.title-box, #services #courses .title.course-box .title.title-box, .reveal .title.image #services .title.title-box, #services .reveal .title.image .title.title-box, #article-list .title.article #services .title.title-box, #services #article-list .title.article .title.title-box, .reveal .content-wrapper #services .title.title-box, #services .reveal .content-wrapper .title.title-box, .grid-padding-y #services .title.service-box, #services .grid-padding-y .title.service-box, .cell.title #services .title.service-box, #services .cell.title .title.service-box, #services .title.title-box .title.service-box, #services .title.service-box .title.service-box, .title.quote-block #services .title.service-box, #services .title.quote-block .title.service-box, #treners .title.title-box #services .title.service-box, #services #treners .title.title-box .title.service-box, #treners .title.trener-box #services .title.service-box, #services #treners .title.trener-box .title.service-box, #courses .title.title-box #services .title.service-box, #services #courses .title.title-box .title.service-box, #courses .title.course-box #services .title.service-box, #services #courses .title.course-box .title.service-box, .reveal .title.image #services .title.service-box, #services .reveal .title.image .title.service-box, #article-list .title.article #services .title.service-box, #services #article-list .title.article .title.service-box, .reveal .content-wrapper #services .title.service-box, #services .reveal .content-wrapper .title.service-box, .grid-padding-y .title.quote-block, .cell.title .title.quote-block, #services .title.title-box .title.quote-block, #services .title.service-box .title.quote-block, .title.quote-block .title.quote-block, #treners .title.title-box .title.quote-block, #treners .title.trener-box .title.quote-block, #courses .title.title-box .title.quote-block, #courses .title.course-box .title.quote-block, .reveal .title.image .title.quote-block, #article-list .title.article .title.quote-block, .reveal .content-wrapper .title.quote-block, .grid-padding-y #treners .title.title-box, #treners .grid-padding-y .title.title-box, .cell.title #treners .title.title-box, #treners .cell.title .title.title-box, #services .title.title-box #treners .title.title-box, #treners #services .title.title-box .title.title-box, #services .title.service-box #treners .title.title-box, #treners #services .title.service-box .title.title-box, .title.quote-block #treners .title.title-box, #treners .title.quote-block .title.title-box, #treners .title.title-box .title.title-box, #treners .title.trener-box .title.title-box, #courses .title.title-box #treners .title.title-box, #treners #courses .title.title-box .title.title-box, #courses .title.course-box #treners .title.title-box, #treners #courses .title.course-box .title.title-box, .reveal .title.image #treners .title.title-box, #treners .reveal .title.image .title.title-box, #article-list .title.article #treners .title.title-box, #treners #article-list .title.article .title.title-box, .reveal .content-wrapper #treners .title.title-box, #treners .reveal .content-wrapper .title.title-box, .grid-padding-y #treners .title.trener-box, #treners .grid-padding-y .title.trener-box, .cell.title #treners .title.trener-box, #treners .cell.title .title.trener-box, #services .title.title-box #treners .title.trener-box, #treners #services .title.title-box .title.trener-box, #services .title.service-box #treners .title.trener-box, #treners #services .title.service-box .title.trener-box, .title.quote-block #treners .title.trener-box, #treners .title.quote-block .title.trener-box, #treners .title.title-box .title.trener-box, #treners .title.trener-box .title.trener-box, #courses .title.title-box #treners .title.trener-box, #treners #courses .title.title-box .title.trener-box, #courses .title.course-box #treners .title.trener-box, #treners #courses .title.course-box .title.trener-box, .reveal .title.image #treners .title.trener-box, #treners .reveal .title.image .title.trener-box, #article-list .title.article #treners .title.trener-box, #treners #article-list .title.article .title.trener-box, .reveal .content-wrapper #treners .title.trener-box, #treners .reveal .content-wrapper .title.trener-box, .grid-padding-y #courses .title.title-box, #courses .grid-padding-y .title.title-box, .cell.title #courses .title.title-box, #courses .cell.title .title.title-box, #services .title.title-box #courses .title.title-box, #courses #services .title.title-box .title.title-box, #services .title.service-box #courses .title.title-box, #courses #services .title.service-box .title.title-box, .title.quote-block #courses .title.title-box, #courses .title.quote-block .title.title-box, #treners .title.title-box #courses .title.title-box, #courses #treners .title.title-box .title.title-box, #treners .title.trener-box #courses .title.title-box, #courses #treners .title.trener-box .title.title-box, #courses .title.title-box .title.title-box, #courses .title.course-box .title.title-box, .reveal .title.image #courses .title.title-box, #courses .reveal .title.image .title.title-box, #article-list .title.article #courses .title.title-box, #courses #article-list .title.article .title.title-box, .reveal .content-wrapper #courses .title.title-box, #courses .reveal .content-wrapper .title.title-box, .grid-padding-y #courses .title.course-box, #courses .grid-padding-y .title.course-box, .cell.title #courses .title.course-box, #courses .cell.title .title.course-box, #services .title.title-box #courses .title.course-box, #courses #services .title.title-box .title.course-box, #services .title.service-box #courses .title.course-box, #courses #services .title.service-box .title.course-box, .title.quote-block #courses .title.course-box, #courses .title.quote-block .title.course-box, #treners .title.title-box #courses .title.course-box, #courses #treners .title.title-box .title.course-box, #treners .title.trener-box #courses .title.course-box, #courses #treners .title.trener-box .title.course-box, #courses .title.title-box .title.course-box, #courses .title.course-box .title.course-box, .reveal .title.image #courses .title.course-box, #courses .reveal .title.image .title.course-box, #article-list .title.article #courses .title.course-box, #courses #article-list .title.article .title.course-box, .reveal .content-wrapper #courses .title.course-box, #courses .reveal .content-wrapper .title.course-box, .grid-padding-y .reveal .title.image, .reveal .grid-padding-y .title.image, .cell.title .reveal .title.image, .reveal .cell.title .title.image, #services .title.title-box .reveal .title.image, .reveal #services .title.title-box .title.image, #services .title.service-box .reveal .title.image, .reveal #services .title.service-box .title.image, .title.quote-block .reveal .title.image, .reveal .title.quote-block .title.image, #treners .title.title-box .reveal .title.image, .reveal #treners .title.title-box .title.image, #treners .title.trener-box .reveal .title.image, .reveal #treners .title.trener-box .title.image, #courses .title.title-box .reveal .title.image, .reveal #courses .title.title-box .title.image, #courses .title.course-box .reveal .title.image, .reveal #courses .title.course-box .title.image, .reveal .title.image .title.image, #article-list .title.article .reveal .title.image, .reveal #article-list .title.article .title.image, .reveal .content-wrapper .title.image, .grid-padding-y #article-list .title.article, #article-list .grid-padding-y .title.article, .cell.title #article-list .title.article, #article-list .cell.title .title.article, #services .title.title-box #article-list .title.article, #article-list #services .title.title-box .title.article, #services .title.service-box #article-list .title.article, #article-list #services .title.service-box .title.article, .title.quote-block #article-list .title.article, #article-list .title.quote-block .title.article, #treners .title.title-box #article-list .title.article, #article-list #treners .title.title-box .title.article, #treners .title.trener-box #article-list .title.article, #article-list #treners .title.trener-box .title.article, #courses .title.title-box #article-list .title.article, #article-list #courses .title.title-box .title.article, #courses .title.course-box #article-list .title.article, #article-list #courses .title.course-box .title.article, .reveal .title.image #article-list .title.article, #article-list .reveal .title.image .title.article, #article-list .title.article .title.article, .reveal .content-wrapper #article-list .title.article, #article-list .reveal .content-wrapper .title.article, .grid-padding-y .reveal .content-wrapper, .reveal .grid-padding-y .content-wrapper, .cell.title .reveal .content-wrapper, .reveal .cell.title .content-wrapper, #services .title.title-box .reveal .content-wrapper, .reveal #services .title.title-box .content-wrapper, #services .title.service-box .reveal .content-wrapper, .reveal #services .title.service-box .content-wrapper, .title.quote-block .reveal .content-wrapper, .reveal .title.quote-block .content-wrapper, #treners .title.title-box .reveal .content-wrapper, .reveal #treners .title.title-box .content-wrapper, #treners .title.trener-box .reveal .content-wrapper, .reveal #treners .title.trener-box .content-wrapper, #courses .title.title-box .reveal .content-wrapper, .reveal #courses .title.title-box .content-wrapper, #courses .title.course-box .reveal .content-wrapper, .reveal #courses .title.course-box .content-wrapper, .reveal .title.image .content-wrapper, #article-list .title.article .reveal .content-wrapper, .reveal #article-list .title.article .content-wrapper, .reveal .content-wrapper .content-wrapper {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y, .cell.title .grid-padding-y, #services .title.title-box .grid-padding-y, #services .title.service-box .grid-padding-y, .title.quote-block .grid-padding-y, #treners .title.title-box .grid-padding-y, #treners .title.trener-box .grid-padding-y, #courses .title.title-box .grid-padding-y, #courses .title.course-box .grid-padding-y, .reveal .title.image .grid-padding-y, #article-list .title.article .grid-padding-y, .reveal .content-wrapper .grid-padding-y, .grid-padding-y .cell.title, .cell.title .cell.title, #services .title.title-box .cell.title, #services .title.service-box .cell.title, .title.quote-block .cell.title, #treners .title.title-box .cell.title, #treners .title.trener-box .cell.title, #courses .title.title-box .cell.title, #courses .title.course-box .cell.title, .reveal .title.image .cell.title, #article-list .title.article .cell.title, .reveal .content-wrapper .cell.title, .grid-padding-y #services .title.title-box, #services .grid-padding-y .title.title-box, .cell.title #services .title.title-box, #services .cell.title .title.title-box, #services .title.title-box .title.title-box, #services .title.service-box .title.title-box, .title.quote-block #services .title.title-box, #services .title.quote-block .title.title-box, #treners .title.title-box #services .title.title-box, #services #treners .title.title-box .title.title-box, #treners .title.trener-box #services .title.title-box, #services #treners .title.trener-box .title.title-box, #courses .title.title-box #services .title.title-box, #services #courses .title.title-box .title.title-box, #courses .title.course-box #services .title.title-box, #services #courses .title.course-box .title.title-box, .reveal .title.image #services .title.title-box, #services .reveal .title.image .title.title-box, #article-list .title.article #services .title.title-box, #services #article-list .title.article .title.title-box, .reveal .content-wrapper #services .title.title-box, #services .reveal .content-wrapper .title.title-box, .grid-padding-y #services .title.service-box, #services .grid-padding-y .title.service-box, .cell.title #services .title.service-box, #services .cell.title .title.service-box, #services .title.title-box .title.service-box, #services .title.service-box .title.service-box, .title.quote-block #services .title.service-box, #services .title.quote-block .title.service-box, #treners .title.title-box #services .title.service-box, #services #treners .title.title-box .title.service-box, #treners .title.trener-box #services .title.service-box, #services #treners .title.trener-box .title.service-box, #courses .title.title-box #services .title.service-box, #services #courses .title.title-box .title.service-box, #courses .title.course-box #services .title.service-box, #services #courses .title.course-box .title.service-box, .reveal .title.image #services .title.service-box, #services .reveal .title.image .title.service-box, #article-list .title.article #services .title.service-box, #services #article-list .title.article .title.service-box, .reveal .content-wrapper #services .title.service-box, #services .reveal .content-wrapper .title.service-box, .grid-padding-y .title.quote-block, .cell.title .title.quote-block, #services .title.title-box .title.quote-block, #services .title.service-box .title.quote-block, .title.quote-block .title.quote-block, #treners .title.title-box .title.quote-block, #treners .title.trener-box .title.quote-block, #courses .title.title-box .title.quote-block, #courses .title.course-box .title.quote-block, .reveal .title.image .title.quote-block, #article-list .title.article .title.quote-block, .reveal .content-wrapper .title.quote-block, .grid-padding-y #treners .title.title-box, #treners .grid-padding-y .title.title-box, .cell.title #treners .title.title-box, #treners .cell.title .title.title-box, #services .title.title-box #treners .title.title-box, #treners #services .title.title-box .title.title-box, #services .title.service-box #treners .title.title-box, #treners #services .title.service-box .title.title-box, .title.quote-block #treners .title.title-box, #treners .title.quote-block .title.title-box, #treners .title.title-box .title.title-box, #treners .title.trener-box .title.title-box, #courses .title.title-box #treners .title.title-box, #treners #courses .title.title-box .title.title-box, #courses .title.course-box #treners .title.title-box, #treners #courses .title.course-box .title.title-box, .reveal .title.image #treners .title.title-box, #treners .reveal .title.image .title.title-box, #article-list .title.article #treners .title.title-box, #treners #article-list .title.article .title.title-box, .reveal .content-wrapper #treners .title.title-box, #treners .reveal .content-wrapper .title.title-box, .grid-padding-y #treners .title.trener-box, #treners .grid-padding-y .title.trener-box, .cell.title #treners .title.trener-box, #treners .cell.title .title.trener-box, #services .title.title-box #treners .title.trener-box, #treners #services .title.title-box .title.trener-box, #services .title.service-box #treners .title.trener-box, #treners #services .title.service-box .title.trener-box, .title.quote-block #treners .title.trener-box, #treners .title.quote-block .title.trener-box, #treners .title.title-box .title.trener-box, #treners .title.trener-box .title.trener-box, #courses .title.title-box #treners .title.trener-box, #treners #courses .title.title-box .title.trener-box, #courses .title.course-box #treners .title.trener-box, #treners #courses .title.course-box .title.trener-box, .reveal .title.image #treners .title.trener-box, #treners .reveal .title.image .title.trener-box, #article-list .title.article #treners .title.trener-box, #treners #article-list .title.article .title.trener-box, .reveal .content-wrapper #treners .title.trener-box, #treners .reveal .content-wrapper .title.trener-box, .grid-padding-y #courses .title.title-box, #courses .grid-padding-y .title.title-box, .cell.title #courses .title.title-box, #courses .cell.title .title.title-box, #services .title.title-box #courses .title.title-box, #courses #services .title.title-box .title.title-box, #services .title.service-box #courses .title.title-box, #courses #services .title.service-box .title.title-box, .title.quote-block #courses .title.title-box, #courses .title.quote-block .title.title-box, #treners .title.title-box #courses .title.title-box, #courses #treners .title.title-box .title.title-box, #treners .title.trener-box #courses .title.title-box, #courses #treners .title.trener-box .title.title-box, #courses .title.title-box .title.title-box, #courses .title.course-box .title.title-box, .reveal .title.image #courses .title.title-box, #courses .reveal .title.image .title.title-box, #article-list .title.article #courses .title.title-box, #courses #article-list .title.article .title.title-box, .reveal .content-wrapper #courses .title.title-box, #courses .reveal .content-wrapper .title.title-box, .grid-padding-y #courses .title.course-box, #courses .grid-padding-y .title.course-box, .cell.title #courses .title.course-box, #courses .cell.title .title.course-box, #services .title.title-box #courses .title.course-box, #courses #services .title.title-box .title.course-box, #services .title.service-box #courses .title.course-box, #courses #services .title.service-box .title.course-box, .title.quote-block #courses .title.course-box, #courses .title.quote-block .title.course-box, #treners .title.title-box #courses .title.course-box, #courses #treners .title.title-box .title.course-box, #treners .title.trener-box #courses .title.course-box, #courses #treners .title.trener-box .title.course-box, #courses .title.title-box .title.course-box, #courses .title.course-box .title.course-box, .reveal .title.image #courses .title.course-box, #courses .reveal .title.image .title.course-box, #article-list .title.article #courses .title.course-box, #courses #article-list .title.article .title.course-box, .reveal .content-wrapper #courses .title.course-box, #courses .reveal .content-wrapper .title.course-box, .grid-padding-y .reveal .title.image, .reveal .grid-padding-y .title.image, .cell.title .reveal .title.image, .reveal .cell.title .title.image, #services .title.title-box .reveal .title.image, .reveal #services .title.title-box .title.image, #services .title.service-box .reveal .title.image, .reveal #services .title.service-box .title.image, .title.quote-block .reveal .title.image, .reveal .title.quote-block .title.image, #treners .title.title-box .reveal .title.image, .reveal #treners .title.title-box .title.image, #treners .title.trener-box .reveal .title.image, .reveal #treners .title.trener-box .title.image, #courses .title.title-box .reveal .title.image, .reveal #courses .title.title-box .title.image, #courses .title.course-box .reveal .title.image, .reveal #courses .title.course-box .title.image, .reveal .title.image .title.image, #article-list .title.article .reveal .title.image, .reveal #article-list .title.article .title.image, .reveal .content-wrapper .title.image, .grid-padding-y #article-list .title.article, #article-list .grid-padding-y .title.article, .cell.title #article-list .title.article, #article-list .cell.title .title.article, #services .title.title-box #article-list .title.article, #article-list #services .title.title-box .title.article, #services .title.service-box #article-list .title.article, #article-list #services .title.service-box .title.article, .title.quote-block #article-list .title.article, #article-list .title.quote-block .title.article, #treners .title.title-box #article-list .title.article, #article-list #treners .title.title-box .title.article, #treners .title.trener-box #article-list .title.article, #article-list #treners .title.trener-box .title.article, #courses .title.title-box #article-list .title.article, #article-list #courses .title.title-box .title.article, #courses .title.course-box #article-list .title.article, #article-list #courses .title.course-box .title.article, .reveal .title.image #article-list .title.article, #article-list .reveal .title.image .title.article, #article-list .title.article .title.article, .reveal .content-wrapper #article-list .title.article, #article-list .reveal .content-wrapper .title.article, .grid-padding-y .reveal .content-wrapper, .reveal .grid-padding-y .content-wrapper, .cell.title .reveal .content-wrapper, .reveal .cell.title .content-wrapper, #services .title.title-box .reveal .content-wrapper, .reveal #services .title.title-box .content-wrapper, #services .title.service-box .reveal .content-wrapper, .reveal #services .title.service-box .content-wrapper, .title.quote-block .reveal .content-wrapper, .reveal .title.quote-block .content-wrapper, #treners .title.title-box .reveal .content-wrapper, .reveal #treners .title.title-box .content-wrapper, #treners .title.trener-box .reveal .content-wrapper, .reveal #treners .title.trener-box .content-wrapper, #courses .title.title-box .reveal .content-wrapper, .reveal #courses .title.title-box .content-wrapper, #courses .title.course-box .reveal .content-wrapper, .reveal #courses .title.course-box .content-wrapper, .reveal .title.image .content-wrapper, #article-list .title.article .reveal .content-wrapper, .reveal #article-list .title.article .content-wrapper, .reveal .content-wrapper .content-wrapper {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell, .cell.title > .cell, #services .title.title-box > .cell, #services .title.service-box > .cell, .title.quote-block > .cell, #treners .title.title-box > .cell, #treners .title.trener-box > .cell, #courses .title.title-box > .cell, #courses .title.course-box > .cell, .reveal .title.image > .cell, #article-list .title.article > .cell, .reveal .content-wrapper > .cell, #services .grid-padding-y > .title-box, #services .cell.title > .title-box, #services .title.title-box > .title-box, #services .title.service-box > .title-box, #services .title.quote-block > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.trener-box > .title-box, #services #treners .title.trener-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.course-box > .title-box, #services #courses .title.course-box > .title-box, .reveal #services .title.image > .title-box, #services .reveal .title.image > .title-box, #article-list #services .title.article > .title-box, #services #article-list .title.article > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .grid-padding-y > .service-box, #services .cell.title > .service-box, #services .title.title-box > .service-box, #services .title.service-box > .service-box, #services .title.quote-block > .service-box, #treners #services .title.title-box > .service-box, #services #treners .title.title-box > .service-box, #treners #services .title.trener-box > .service-box, #services #treners .title.trener-box > .service-box, #courses #services .title.title-box > .service-box, #services #courses .title.title-box > .service-box, #courses #services .title.course-box > .service-box, #services #courses .title.course-box > .service-box, .reveal #services .title.image > .service-box, #services .reveal .title.image > .service-box, #article-list #services .title.article > .service-box, #services #article-list .title.article > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, .grid-padding-y > .quote-block, .cell.title > .quote-block, #services .title.title-box > .quote-block, #services .title.service-box > .quote-block, .title.quote-block > .quote-block, #treners .title.title-box > .quote-block, #treners .title.trener-box > .quote-block, #courses .title.title-box > .quote-block, #courses .title.course-box > .quote-block, .reveal .title.image > .quote-block, #article-list .title.article > .quote-block, .reveal .content-wrapper > .quote-block, #treners .grid-padding-y > .title-box, #treners .cell.title > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.service-box > .title-box, #treners #services .title.service-box > .title-box, #treners .title.quote-block > .title-box, #treners .title.title-box > .title-box, #treners .title.trener-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.course-box > .title-box, #treners #courses .title.course-box > .title-box, .reveal #treners .title.image > .title-box, #treners .reveal .title.image > .title-box, #article-list #treners .title.article > .title-box, #treners #article-list .title.article > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .grid-padding-y > .trener-box, #treners .cell.title > .trener-box, #services #treners .title.title-box > .trener-box, #treners #services .title.title-box > .trener-box, #services #treners .title.service-box > .trener-box, #treners #services .title.service-box > .trener-box, #treners .title.quote-block > .trener-box, #treners .title.title-box > .trener-box, #treners .title.trener-box > .trener-box, #courses #treners .title.title-box > .trener-box, #treners #courses .title.title-box > .trener-box, #courses #treners .title.course-box > .trener-box, #treners #courses .title.course-box > .trener-box, .reveal #treners .title.image > .trener-box, #treners .reveal .title.image > .trener-box, #article-list #treners .title.article > .trener-box, #treners #article-list .title.article > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #courses .grid-padding-y > .title-box, #courses .cell.title > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.service-box > .title-box, #courses #services .title.service-box > .title-box, #courses .title.quote-block > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.trener-box > .title-box, #courses #treners .title.trener-box > .title-box, #courses .title.title-box > .title-box, #courses .title.course-box > .title-box, .reveal #courses .title.image > .title-box, #courses .reveal .title.image > .title-box, #article-list #courses .title.article > .title-box, #courses #article-list .title.article > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .grid-padding-y > .course-box, #courses .cell.title > .course-box, #services #courses .title.title-box > .course-box, #courses #services .title.title-box > .course-box, #services #courses .title.service-box > .course-box, #courses #services .title.service-box > .course-box, #courses .title.quote-block > .course-box, #treners #courses .title.title-box > .course-box, #courses #treners .title.title-box > .course-box, #treners #courses .title.trener-box > .course-box, #courses #treners .title.trener-box > .course-box, #courses .title.title-box > .course-box, #courses .title.course-box > .course-box, .reveal #courses .title.image > .course-box, #courses .reveal .title.image > .course-box, #article-list #courses .title.article > .course-box, #courses #article-list .title.article > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, .reveal .grid-padding-y > .image, .reveal .cell.title > .image, #services .reveal .title.title-box > .image, .reveal #services .title.title-box > .image, #services .reveal .title.service-box > .image, .reveal #services .title.service-box > .image, .reveal .title.quote-block > .image, #treners .reveal .title.title-box > .image, .reveal #treners .title.title-box > .image, #treners .reveal .title.trener-box > .image, .reveal #treners .title.trener-box > .image, #courses .reveal .title.title-box > .image, .reveal #courses .title.title-box > .image, #courses .reveal .title.course-box > .image, .reveal #courses .title.course-box > .image, .reveal .title.image > .image, #article-list .reveal .title.article > .image, .reveal #article-list .title.article > .image, .reveal .content-wrapper > .image, #article-list .grid-padding-y > .article, #article-list .cell.title > .article, #services #article-list .title.title-box > .article, #article-list #services .title.title-box > .article, #services #article-list .title.service-box > .article, #article-list #services .title.service-box > .article, #article-list .title.quote-block > .article, #treners #article-list .title.title-box > .article, #article-list #treners .title.title-box > .article, #treners #article-list .title.trener-box > .article, #article-list #treners .title.trener-box > .article, #courses #article-list .title.title-box > .article, #article-list #courses .title.title-box > .article, #courses #article-list .title.course-box > .article, #article-list #courses .title.course-box > .article, .reveal #article-list .title.image > .article, #article-list .reveal .title.image > .article, #article-list .title.article > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell, .cell.title > .cell, #services .title.title-box > .cell, #services .title.service-box > .cell, .title.quote-block > .cell, #treners .title.title-box > .cell, #treners .title.trener-box > .cell, #courses .title.title-box > .cell, #courses .title.course-box > .cell, .reveal .title.image > .cell, #article-list .title.article > .cell, .reveal .content-wrapper > .cell, #services .grid-padding-y > .title-box, #services .cell.title > .title-box, #services .title.title-box > .title-box, #services .title.service-box > .title-box, #services .title.quote-block > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.trener-box > .title-box, #services #treners .title.trener-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.course-box > .title-box, #services #courses .title.course-box > .title-box, .reveal #services .title.image > .title-box, #services .reveal .title.image > .title-box, #article-list #services .title.article > .title-box, #services #article-list .title.article > .title-box, .reveal #services .content-wrapper > .title-box, #services .reveal .content-wrapper > .title-box, #services .grid-padding-y > .service-box, #services .cell.title > .service-box, #services .title.title-box > .service-box, #services .title.service-box > .service-box, #services .title.quote-block > .service-box, #treners #services .title.title-box > .service-box, #services #treners .title.title-box > .service-box, #treners #services .title.trener-box > .service-box, #services #treners .title.trener-box > .service-box, #courses #services .title.title-box > .service-box, #services #courses .title.title-box > .service-box, #courses #services .title.course-box > .service-box, #services #courses .title.course-box > .service-box, .reveal #services .title.image > .service-box, #services .reveal .title.image > .service-box, #article-list #services .title.article > .service-box, #services #article-list .title.article > .service-box, .reveal #services .content-wrapper > .service-box, #services .reveal .content-wrapper > .service-box, .grid-padding-y > .quote-block, .cell.title > .quote-block, #services .title.title-box > .quote-block, #services .title.service-box > .quote-block, .title.quote-block > .quote-block, #treners .title.title-box > .quote-block, #treners .title.trener-box > .quote-block, #courses .title.title-box > .quote-block, #courses .title.course-box > .quote-block, .reveal .title.image > .quote-block, #article-list .title.article > .quote-block, .reveal .content-wrapper > .quote-block, #treners .grid-padding-y > .title-box, #treners .cell.title > .title-box, #services #treners .title.title-box > .title-box, #treners #services .title.title-box > .title-box, #services #treners .title.service-box > .title-box, #treners #services .title.service-box > .title-box, #treners .title.quote-block > .title-box, #treners .title.title-box > .title-box, #treners .title.trener-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.course-box > .title-box, #treners #courses .title.course-box > .title-box, .reveal #treners .title.image > .title-box, #treners .reveal .title.image > .title-box, #article-list #treners .title.article > .title-box, #treners #article-list .title.article > .title-box, .reveal #treners .content-wrapper > .title-box, #treners .reveal .content-wrapper > .title-box, #treners .grid-padding-y > .trener-box, #treners .cell.title > .trener-box, #services #treners .title.title-box > .trener-box, #treners #services .title.title-box > .trener-box, #services #treners .title.service-box > .trener-box, #treners #services .title.service-box > .trener-box, #treners .title.quote-block > .trener-box, #treners .title.title-box > .trener-box, #treners .title.trener-box > .trener-box, #courses #treners .title.title-box > .trener-box, #treners #courses .title.title-box > .trener-box, #courses #treners .title.course-box > .trener-box, #treners #courses .title.course-box > .trener-box, .reveal #treners .title.image > .trener-box, #treners .reveal .title.image > .trener-box, #article-list #treners .title.article > .trener-box, #treners #article-list .title.article > .trener-box, .reveal #treners .content-wrapper > .trener-box, #treners .reveal .content-wrapper > .trener-box, #courses .grid-padding-y > .title-box, #courses .cell.title > .title-box, #services #courses .title.title-box > .title-box, #courses #services .title.title-box > .title-box, #services #courses .title.service-box > .title-box, #courses #services .title.service-box > .title-box, #courses .title.quote-block > .title-box, #treners #courses .title.title-box > .title-box, #courses #treners .title.title-box > .title-box, #treners #courses .title.trener-box > .title-box, #courses #treners .title.trener-box > .title-box, #courses .title.title-box > .title-box, #courses .title.course-box > .title-box, .reveal #courses .title.image > .title-box, #courses .reveal .title.image > .title-box, #article-list #courses .title.article > .title-box, #courses #article-list .title.article > .title-box, .reveal #courses .content-wrapper > .title-box, #courses .reveal .content-wrapper > .title-box, #courses .grid-padding-y > .course-box, #courses .cell.title > .course-box, #services #courses .title.title-box > .course-box, #courses #services .title.title-box > .course-box, #services #courses .title.service-box > .course-box, #courses #services .title.service-box > .course-box, #courses .title.quote-block > .course-box, #treners #courses .title.title-box > .course-box, #courses #treners .title.title-box > .course-box, #treners #courses .title.trener-box > .course-box, #courses #treners .title.trener-box > .course-box, #courses .title.title-box > .course-box, #courses .title.course-box > .course-box, .reveal #courses .title.image > .course-box, #courses .reveal .title.image > .course-box, #article-list #courses .title.article > .course-box, #courses #article-list .title.article > .course-box, .reveal #courses .content-wrapper > .course-box, #courses .reveal .content-wrapper > .course-box, .reveal .grid-padding-y > .image, .reveal .cell.title > .image, #services .reveal .title.title-box > .image, .reveal #services .title.title-box > .image, #services .reveal .title.service-box > .image, .reveal #services .title.service-box > .image, .reveal .title.quote-block > .image, #treners .reveal .title.title-box > .image, .reveal #treners .title.title-box > .image, #treners .reveal .title.trener-box > .image, .reveal #treners .title.trener-box > .image, #courses .reveal .title.title-box > .image, .reveal #courses .title.title-box > .image, #courses .reveal .title.course-box > .image, .reveal #courses .title.course-box > .image, .reveal .title.image > .image, #article-list .reveal .title.article > .image, .reveal #article-list .title.article > .image, .reveal .content-wrapper > .image, #article-list .grid-padding-y > .article, #article-list .cell.title > .article, #services #article-list .title.title-box > .article, #article-list #services .title.title-box > .article, #services #article-list .title.service-box > .article, #article-list #services .title.service-box > .article, #article-list .title.quote-block > .article, #treners #article-list .title.title-box > .article, #article-list #treners .title.title-box > .article, #treners #article-list .title.trener-box > .article, #article-list #treners .title.trener-box > .article, #courses #article-list .title.title-box > .article, #article-list #courses .title.title-box > .article, #courses #article-list .title.course-box > .article, #article-list #courses .title.course-box > .article, .reveal #article-list .title.image > .article, #article-list .reveal .title.image > .article, #article-list .title.article > .article, .reveal #article-list .content-wrapper > .article, #article-list .reveal .content-wrapper > .article {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box, .grid-margin-y > .quote-block, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .title-box, #courses .grid-margin-y > .course-box, .reveal .grid-margin-y > .image, #article-list .grid-margin-y > .article {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box, .grid-margin-y > .quote-block, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .title-box, #courses .grid-margin-y > .course-box, .reveal .grid-margin-y > .image, #article-list .grid-margin-y > .article {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto, .grid-margin-y > .quote-block {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12, #about .grid-margin-y > .gallery, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .title-box, #courses .grid-margin-y > .course-box, .grid-margin-y > .cell.title, .grid-margin-y > .title.quote-block, .reveal .grid-margin-y > .image, #article-list .grid-margin-y > .article {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto, .grid-margin-y > .quote-block {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12, #about .grid-margin-y > .gallery, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .title-box, #courses .grid-margin-y > .course-box, .grid-margin-y > .cell.title, .grid-margin-y > .title.quote-block, .reveal .grid-margin-y > .image, #article-list .grid-margin-y > .article {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .title-box, #courses .grid-margin-y > .course-box, #article-list .grid-margin-y > .article {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12, #about .grid-margin-y > .gallery {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto, .reveal .grid-margin-y > .image {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3, #services .grid-margin-y > .title-box, #services .grid-margin-y > .service-box, #treners .grid-margin-y > .title-box, #treners .grid-margin-y > .trener-box, #courses .grid-margin-y > .course-box, #article-list .grid-margin-y > .article {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6, #about .grid-margin-y > .gallery, #courses .grid-margin-y > .title-box {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  width: 100vw;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.cell .grid-frame, #services .title-box .grid-frame, #services .service-box .grid-frame, .quote-block .grid-frame, #treners .title-box .grid-frame, #treners .trener-box .grid-frame, #courses .title-box .grid-frame, #courses .course-box .grid-frame, .reveal .image .grid-frame, #article-list .article .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x, .cell-block-container > #about, .block .cell-block-container > .content, .cell-block-container > #services, .cell-block-container > #treners, .cell-block-container > #courses, #courses .title-box .cell-block-container > .content, #courses .course-box .cell-block-container > .content, #tour .media .cell-block-container > .content, .reveal .cell-block-container > .content, .reveal .cell-block-container > .content-wrapper, .cell-block-container > .price-lists {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    width: 100vw;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
  .cell .medium-grid-frame, #services .title-box .medium-grid-frame, #services .service-box .medium-grid-frame, .quote-block .medium-grid-frame, #treners .title-box .medium-grid-frame, #treners .trener-box .medium-grid-frame, #courses .title-box .medium-grid-frame, #courses .course-box .medium-grid-frame, .reveal .image .medium-grid-frame, #article-list .article .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x, .medium-cell-block-container > #about, .block .medium-cell-block-container > .content, .medium-cell-block-container > #services, .medium-cell-block-container > #treners, .medium-cell-block-container > #courses, #courses .title-box .medium-cell-block-container > .content, #courses .course-box .medium-cell-block-container > .content, #tour .media .medium-cell-block-container > .content, .reveal .medium-cell-block-container > .content, .reveal .medium-cell-block-container > .content-wrapper, .medium-cell-block-container > .price-lists {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    width: 100vw;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
  .cell .large-grid-frame, #services .title-box .large-grid-frame, #services .service-box .large-grid-frame, .quote-block .large-grid-frame, #treners .title-box .large-grid-frame, #treners .trener-box .large-grid-frame, #courses .title-box .large-grid-frame, #courses .course-box .large-grid-frame, .reveal .image .large-grid-frame, #article-list .article .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x, .large-cell-block-container > #about, .block .large-cell-block-container > .content, .large-cell-block-container > #services, .large-cell-block-container > #treners, .large-cell-block-container > #courses, #courses .title-box .large-cell-block-container > .content, #courses .course-box .large-cell-block-container > .content, #tour .media .large-cell-block-container > .content, .reveal .large-cell-block-container > .content, .reveal .large-cell-block-container > .content-wrapper, .large-cell-block-container > .price-lists {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 75em) {
  .xlarge-grid-frame {
    width: 100vw;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
  .cell .xlarge-grid-frame, #services .title-box .xlarge-grid-frame, #services .service-box .xlarge-grid-frame, .quote-block .xlarge-grid-frame, #treners .title-box .xlarge-grid-frame, #treners .trener-box .xlarge-grid-frame, #courses .title-box .xlarge-grid-frame, #courses .course-box .xlarge-grid-frame, .reveal .image .xlarge-grid-frame, #article-list .article .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x, .xlarge-cell-block-container > #about, .block .xlarge-cell-block-container > .content, .xlarge-cell-block-container > #services, .xlarge-cell-block-container > #treners, .xlarge-cell-block-container > #courses, #courses .title-box .xlarge-cell-block-container > .content, #courses .course-box .xlarge-cell-block-container > .content, #tour .media .xlarge-cell-block-container > .content, .reveal .xlarge-cell-block-container > .content, .reveal .xlarge-cell-block-container > .content-wrapper, .xlarge-cell-block-container > .price-lists {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 90em) {
  .xxlarge-grid-frame {
    width: 100vw;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
  .cell .xxlarge-grid-frame, #services .title-box .xxlarge-grid-frame, #services .service-box .xxlarge-grid-frame, .quote-block .xxlarge-grid-frame, #treners .title-box .xxlarge-grid-frame, #treners .trener-box .xxlarge-grid-frame, #courses .title-box .xxlarge-grid-frame, #courses .course-box .xxlarge-grid-frame, .reveal .image .xxlarge-grid-frame, #article-list .article .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; }
  .xxlarge-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x, .xxlarge-cell-block-container > #about, .block .xxlarge-cell-block-container > .content, .xxlarge-cell-block-container > #services, .xxlarge-cell-block-container > #treners, .xxlarge-cell-block-container > #courses, #courses .title-box .xxlarge-cell-block-container > .content, #courses .course-box .xxlarge-cell-block-container > .content, #tour .media .xxlarge-cell-block-container > .content, .reveal .xxlarge-cell-block-container > .content, .reveal .xxlarge-cell-block-container > .content-wrapper, .xxlarge-cell-block-container > .price-lists {
      max-height: 100%;
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  height: 100vh;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; } }

@media screen and (min-width: 75em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; } }

@media screen and (min-width: 90em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    height: 100vh;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; } }

.cell .grid-y.grid-frame, #services .title-box .grid-y.grid-frame, #services .service-box .grid-y.grid-frame, .quote-block .grid-y.grid-frame, #treners .title-box .grid-y.grid-frame, #treners .trener-box .grid-y.grid-frame, #courses .title-box .grid-y.grid-frame, #courses .course-box .grid-y.grid-frame, .reveal .image .grid-y.grid-frame, #article-list .article .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame, #services .title-box .grid-y.medium-grid-frame, #services .service-box .grid-y.medium-grid-frame, .quote-block .grid-y.medium-grid-frame, #treners .title-box .grid-y.medium-grid-frame, #treners .trener-box .grid-y.medium-grid-frame, #courses .title-box .grid-y.medium-grid-frame, #courses .course-box .grid-y.medium-grid-frame, .reveal .image .grid-y.medium-grid-frame, #article-list .article .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame, #services .title-box .grid-y.large-grid-frame, #services .service-box .grid-y.large-grid-frame, .quote-block .grid-y.large-grid-frame, #treners .title-box .grid-y.large-grid-frame, #treners .trener-box .grid-y.large-grid-frame, #courses .title-box .grid-y.large-grid-frame, #courses .course-box .grid-y.large-grid-frame, .reveal .image .grid-y.large-grid-frame, #article-list .article .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 75em) {
  .cell .grid-y.xlarge-grid-frame, #services .title-box .grid-y.xlarge-grid-frame, #services .service-box .grid-y.xlarge-grid-frame, .quote-block .grid-y.xlarge-grid-frame, #treners .title-box .grid-y.xlarge-grid-frame, #treners .trener-box .grid-y.xlarge-grid-frame, #courses .title-box .grid-y.xlarge-grid-frame, #courses .course-box .grid-y.xlarge-grid-frame, .reveal .image .grid-y.xlarge-grid-frame, #article-list .article .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .grid-y.xxlarge-grid-frame, #services .title-box .grid-y.xxlarge-grid-frame, #services .service-box .grid-y.xxlarge-grid-frame, .quote-block .grid-y.xxlarge-grid-frame, #treners .title-box .grid-y.xxlarge-grid-frame, #treners .trener-box .grid-y.xxlarge-grid-frame, #courses .title-box .grid-y.xxlarge-grid-frame, #courses .course-box .grid-y.xxlarge-grid-frame, .reveal .image .grid-y.xxlarge-grid-frame, #article-list .article .grid-y.xxlarge-grid-frame {
    height: 100%; } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Zekton";
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    line-height: 0;
    color: #cacaca; }

h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #fff;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #fff; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: "— "; }

abbr, abbr[title] {
  border-bottom: 1px dotted #3d3f41;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #3d3f41; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #3d3f41; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

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

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

.text-center, #about .content-wrapper, .cell.title, #services .title.title-box, #services .title.service-box, .title.quote-block, #treners .title.title-box, #treners .title.trener-box, #courses .title.title-box, #courses .title.course-box, .reveal .title.image, #article-list .title.article, .reveal .content-wrapper, .price-lists .prices .list {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.3125rem;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #fefefe;
  color: #000; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #fefefe;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #fefefe;
    color: #3d3f41; }
    .button.primary:hover, .button.primary:focus {
      background-color: #fefefe;
      color: #3d3f41; }
  .button.secondary {
    background-color: #262626;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #1e1e1e;
      color: #fefefe; }
  .button.success {
    background-color: #fefefe;
    color: #3d3f41; }
    .button.success:hover, .button.success:focus {
      background-color: #fefefe;
      color: #3d3f41; }
  .button.warning {
    background-color: #ffae00;
    color: #3d3f41; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #3d3f41; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #6ccc00;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #6ccc00;
        color: #3d3f41; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #262626;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #3d3f41; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #3d3f41; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cc4b37;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #6ccc00;
    color: #6ccc00; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #366600;
      color: #366600; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #6ccc00;
        color: #6ccc00; }
    .button.hollow.primary {
      border: 1px solid #6ccc00;
      color: #6ccc00; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #366600;
        color: #366600; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #6ccc00;
          color: #6ccc00; }
    .button.hollow.secondary {
      border: 1px solid #262626;
      color: #262626; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #131313;
        color: #131313; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #262626;
          color: #262626; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
  .button.clear {
    border: 1px solid #6ccc00;
    color: #6ccc00; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #366600;
      color: #366600; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #6ccc00;
        color: #6ccc00; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #6ccc00;
      color: #6ccc00; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #366600;
        color: #366600; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #6ccc00;
          color: #6ccc00; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #262626;
      color: #262626; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #131313;
        color: #131313; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #262626;
          color: #262626; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #157539;
        color: #157539; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #3adb76;
          color: #3adb76; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #67251a;
        color: #67251a; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #cc4b37;
          color: #cc4b37; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #6ccc00; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #6ccc00; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #262626; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(61, 63, 65, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #3d3f41;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #cacaca; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #cacaca; }

input::placeholder,
textarea::placeholder {
  color: #cacaca; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.625rem; }

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

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #3d3f41; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #3d3f41; }

.input-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #3d3f41;
  text-align: center;
  white-space: nowrap;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  height: auto;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #3d3f41;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

.is-invalid-label {
  color: #cc4b37; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #6ccc00; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+'; }
  .is-active > .accordion-title::before {
    content: '\2013'; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: white; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 0.7rem 1rem; }

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative; }
  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6ccc00 transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem; }

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem; }

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  width: 40px;
  height: 40px; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #6ccc00 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
      -ms-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #6ccc00;
  color: #fefefe; }
  .badge.primary {
    background: #6ccc00;
    color: #3d3f41; }
  .badge.secondary {
    background: #262626;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #3d3f41; }
  .badge.warning {
    background: #ffae00;
    color: #3d3f41; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #3d3f41;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #6ccc00; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #6ccc00;
    color: #3d3f41; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #56a300;
      color: #3d3f41; }
  .button-group.secondary .button {
    background-color: #262626;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #1e1e1e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #3d3f41; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #3d3f41; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #3d3f41; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #3d3f41; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(61, 63, 65, 0.25);
  border-radius: 0;
  background-color: white;
  color: #191919; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e9ffd1;
    color: #191919; }
  .callout.secondary {
    background-color: #dedede;
    color: #191919; }
  .callout.success {
    background-color: #e1faea;
    color: #191919; }
  .callout.warning {
    background-color: #fff3d9;
    color: #191919; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #191919; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: white; }
  .card > :last-child {
    margin-bottom: 0; }

.card-divider {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

.card-section {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem; }
  .card-section > :last-child {
    margin-bottom: 0; }

.card-image {
  min-height: 1px; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #3d3f41; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #6ccc00;
    color: #fefefe; }
  .menu .active > a {
    background: #6ccc00;
    color: #fefefe; }
  .menu.align-left {
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.menu-centered > .menu {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #3d3f41;
    box-shadow: 0 7px 0 #3d3f41, 0 14px 0 #3d3f41;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    transition: height 0.5s; }

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #6ccc00; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #6ccc00; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #6ccc00 transparent transparent; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #6ccc00 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #191919;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    visibility: visible;
    display: block; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu a {
  padding: 0.7rem 1rem; }
  [data-whatinput='mouse'] .dropdown.menu a {
    outline: 0; }

.dropdown.menu .is-active > a {
  background: transparent;
  color: #6ccc00; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #6ccc00;
  color: #fefefe; }
  .label.primary {
    background: #6ccc00;
    color: #3d3f41; }
  .label.secondary {
    background: #262626;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #3d3f41; }
  .label.warning {
    background: #ffae00;
    color: #3d3f41; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 13; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(61, 63, 65, 0.7); }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 13; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(61, 63, 65, 0.7); }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px);
  overflow-y: auto; }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(61, 63, 65, 0.25); }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px);
  overflow-y: auto; }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(61, 63, 65, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px);
  overflow-x: auto; }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(61, 63, 65, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px);
  overflow-x: auto; }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(61, 63, 65, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-xxlarge ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xxlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xxlarge {
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

@media screen and (min-width: 90em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: inherit;
    width: inherit;
    overflow: inherit;
    transition: inherit; }
    .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
      box-shadow: none;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xxlarge .close-button {
      display: none; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.orbit-slide {
  width: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(61, 63, 65, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(61, 63, 65, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #3d3f41; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #6ccc00;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #3d3f41; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab'; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb'; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #6ccc00; }
  .progress.secondary .progress-meter {
    background-color: #262626; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #6ccc00; }

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #6ccc00;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #5cad00; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  min-height: 100%;
  overflow: hidden;
  position: fixed;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(61, 63, 65, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 0;
  border: 0px solid #cacaca;
  border-radius: 0;
  background-color: #191919;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 100%; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 100%; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 39.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #6ccc00; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid rgba(13, 13, 13, 0);
    background-color: transparent; }
  table caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  table thead {
    background: rgba(6, 6, 6, 0);
    color: white; }
  table tfoot {
    background: rgba(13, 13, 13, 0);
    color: white; }
  table thead tr,
  table tfoot tr {
    background: transparent; }
  table thead th,
  table thead td,
  table tfoot th,
  table tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  table tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: rgba(13, 13, 13, 0); }
  table.unstriped tbody {
    background-color: transparent; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid rgba(13, 13, 13, 0);
      background-color: transparent; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: rgba(1, 1, 1, 0); }

table.hover tfoot tr:hover {
  background-color: rgba(8, 8, 8, 0); }

table.hover tbody tr:hover {
  background-color: transparent; }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: transparent; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #6ccc00; }
  .tabs.primary > li > a {
    color: #3d3f41; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #74db00; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #6ccc00; }
    .tabs-title > a:hover {
      background: #fefefe;
      color: #5daf00; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #6ccc00; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: white;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fefefe;
  border-radius: 0;
  box-shadow: 0 0 0 1px rgba(61, 63, 65, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(108, 204, 0, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: #3d3f41;
  color: #fefefe;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: none;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #3d3f41;
  font-size: 80%;
  color: #fefefe; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #3d3f41;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #3d3f41 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #3d3f41;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #3d3f41 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

.top-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: #191919; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .top-bar .top-bar-left {
        -webkit-flex: 1 1 auto;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-flex: 0 1 auto;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        margin-left: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-medium .top-bar-left,
      .top-bar.stacked-for-medium .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 89.9375em) {
    .top-bar.stacked-for-xlarge {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-xlarge .top-bar-left,
      .top-bar.stacked-for-xlarge .top-bar-right {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; } }
  .top-bar.stacked-for-xxlarge {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .top-bar.stacked-for-xxlarge .top-bar-left,
    .top-bar.stacked-for-xxlarge .top-bar-right {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0; }

.top-bar-left,
.top-bar-right {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  -webkit-clip-path: none;
          clip-path: none; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.align-right.vertical.menu > li > a {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle, .reveal .content {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle, .block .content, .quote-block, #courses .title-box .content, #courses .course-box .content, #tour .media .content, .price-lists {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container, .quote-block, #article-list .article .content, .price-lists {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-flex: 1 0 auto;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row, .quote-block {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column, #article-list .article .content, .price-lists {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 90em) {
  .xxlarge-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/*
$color1: rgba(108, 204, 0, 1);
$color2: rgba(128, 205, 41, 1);
$color3: rgba(25, 25, 25, 1);
$color4: rgba(78, 74, 75, 1);
$color5: rgba(255, 255, 255, 1);
*/
* {
  -webkit-font-smoothing: subpixel-antialiased; }

a {
  outline-width: 0; }

@media print, screen and (min-width: 64em) {
  p {
    font-size: 1.15rem; } }

#about {
  background-color: #333333; }
  #about .orbit-slide .image-container {
    position: relative; }
    #about .orbit-slide .image-container:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    #about .orbit-slide .image-container > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    #about .orbit-slide .image-container img {
      max-width: none; }
  #about img {
    height: 100%; }
  @media print, screen and (min-width: 64em) {
    #about {
      min-height: 100vh; }
      #about .orbit-slide {
        min-height: 100vh; }
        #about .orbit-slide img {
          min-height: 100vh;
          object-fit: cover; } }
  #about .orbit {
    position: relative; }
    #about .orbit .controls {
      position: absolute;
      bottom: 0;
      right: 0;
      padding: 1rem; }
      #about .orbit .controls button {
        background-color: #333;
        color: #fff;
        padding: 1rem;
        display: block;
        margin-top: 1rem; }
    #about .orbit .bullets {
      position: absolute;
      width: 100%;
      bottom: 0; }
      #about .orbit .bullets button {
        display: block;
        float: left;
        height: 0.25rem;
        background-color: rgba(0, 0, 0, 0.25);
        transition: background-color linear 0.25s; }
        #about .orbit .bullets button.is-active {
          background-color: #333; }
  #about .content-wrapper {
    padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      #about .content-wrapper {
        width: 75%;
        margin: 0 auto; } }

.block {
  position: relative; }
  .block:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%; }
  .block > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

#services .service-box img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
  object-fit: cover;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }

#services h3 {
  color: #fefefe;
  font-weight: bold; }

#services i {
  color: #fff;
  font-size: 3rem;
  transition: color 0.25s ease-in, font-size 250ms ease-in; }

#services .overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.4);
  transition: background-color 0.25s ease-in; }

#services a:hover .overlay {
  background-color: rgba(0, 0, 0, 0.8); }

#services a:hover i {
  color: #fefefe;
  font-size: 4.5rem; }

.quote-block {
  padding: 1rem;
  background-color: #191919;
  color: #fff;
  min-height: 8rem; }
  .quote-block p {
    font-size: 3vmax;
    text-align: center; }

#treners .title-box {
  background-color: #fff; }

#treners .trener-box img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
  object-fit: cover;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }

#treners h3 {
  color: #fefefe;
  font-weight: bold; }

#treners .overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.25s ease-in; }

#treners a:hover .overlay {
  background-color: rgba(108, 204, 0, 0.8); }

#treners a:hover i {
  color: #fefefe;
  font-size: 4.5rem; }

#courses .title-box {
  padding: 1rem 0;
  background-color: #191919; }
  #courses .title-box h2 {
    color: #fff; }

@media print, screen and (min-width: 40em) {
  #courses .course-box {
    position: relative; }
    #courses .course-box:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    #courses .course-box > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; } }

@media screen and (max-width: 39.9375em) {
  #courses .course-box .content {
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-color: #fff;
    border-bottom: solid 1px #191919; } }

#courses .course-box img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -2;
  object-fit: cover;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%); }

#courses h3 {
  color: #fefefe;
  font-weight: bold;
  text-transform: uppercase; }

#courses .overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.25s ease-in; }

#courses a:hover .overlay {
  background-color: rgba(108, 204, 0, 0.8); }

#courses a:hover i {
  color: #fefefe;
  font-size: 4.5rem; }

.cell.title, #services .title.title-box, #services .title.service-box, .title.quote-block, #treners .title.title-box, #treners .title.trener-box, #courses .title.title-box, #courses .title.course-box, .reveal .title.image, #article-list .title.article {
  background-color: #333;
  padding: 4rem 0;
  font-weight: bold; }

#tour .media {
  position: relative; }
  #tour .media:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%; }
  #tour .media > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  #tour .media img {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -2;
    object-fit: cover; }

#tour h3 {
  color: #fefefe;
  font-weight: bold; }

#tour i {
  color: #fff;
  font-size: 6rem;
  transition: color 0.25s ease-in, font-size 250ms ease-in;
  margin-bottom: 1rem; }

#tour .overlay {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.25s ease-in; }

#tour a:hover .overlay {
  background-color: rgba(0, 0, 0, 0.8); }

#tour a:hover i {
  color: #fefefe;
  font-size: 7.5rem; }

.reveal .close-button {
  background-color: #fff;
  font-size: 4rem;
  display: block;
  width: 4rem;
  height: 4rem;
  right: 2rem;
  top: 2rem;
  color: #3d3f41;
  border-radius: 0;
  z-index: 9999; }
  .reveal .close-button.static {
    position: relative;
    right: 0rem;
    top: 0rem;
    margin-left: 85%; }

.reveal .content {
  min-height: 100vh; }

.reveal .image {
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .reveal .image {
      height: 100vh; } }
  @media screen and (max-width: 74.9375em) {
    .reveal .image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    .reveal .image > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .reveal .image img {
      height: 100%; } }
  .reveal .image img {
    object-fit: cover; }

.reveal .content-wrapper {
  width: 80%;
  margin: 0 auto; }

.reveal iframe {
  height: 100%;
  width: 100%; }

.reveal.large {
  position: relative; }
  .reveal.large:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 56.25%; }
  .reveal.large > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

.reveal i {
  color: #333333;
  font-size: 3rem;
  display: block;
  transition: color 0.25s ease-in, font-size 250ms ease-in;
  margin: 1rem 0; }

.reveal .button i {
  color: #fefefe;
  font-size: 1rem;
  display: inline-block;
  transition: color 0.25s ease-in, font-size 250ms ease-in;
  margin: 0;
  margin-right: 1rem; }

.reveal h2 {
  color: #fefefe;
  margin-top: 1rem; }

.timetable {
  background-color: none; }
  .timetable thead tr {
    border-bottom: solid #fefefe 1px; }

a.button {
  text-transform: uppercase;
  font-weight: bold; }

/* Top Bar */
.top-bar {
  border-bottom: solid 0.125rem #333; }
  .top-bar .top-bar-logo {
    height: 1.875rem;
    padding: 0 1rem; }

#footer {
  background-color: #333; }
  #footer h3 {
    margin-top: 1rem; }
  #footer i {
    display: block;
    font-size: 2rem;
    margin: 1rem 0;
    transition: color 0.25s ease-in, font-size 250ms ease-in; }
  #footer a {
    color: #fefefe; }
    #footer a:hover i {
      font-size: 2.25rem; }
  #footer iframe {
    height: 100%;
    width: 100%;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%); }
  #footer .social {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

#hero {
  background-image: url("/assets/fitness/img/hero-cs.jpeg");
  background-size: cover;
  background-position: top center; }
  #hero .logo {
    max-width: 25%;
    margin-bottom: 1rem; }
  #hero .grid-x, #hero #about, #hero .block .content, .block #hero .content, #hero #services, #hero #treners, #hero #courses, #hero #courses .title-box .content, #courses .title-box #hero .content, #hero #courses .course-box .content, #courses .course-box #hero .content, #hero #tour .media .content, #tour .media #hero .content, #hero .reveal .content, .reveal #hero .content, #hero .reveal .content-wrapper, .reveal #hero .content-wrapper, #hero .price-lists {
    min-height: 90vh;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }

#article-list .article {
  transition: all 0.25s ease-in; }
  #article-list .article:nth-child(odd) {
    background-color: #80cd29;
    color: #3d3f41; }
  #article-list .article .content {
    padding: 1rem;
    width: 100%; }
    #article-list .article .content h6 {
      font-size: 1.9rem;
      text-transform: uppercase; }
  #article-list .article:hover {
    color: #3d3f41;
    background-color: #6ccc00; }

.price-lists {
  min-height: 100vh; }
  .price-lists h6 {
    color: #6ccc00;
    text-align: center;
    font-size: 2.5rem;
    padding: 1rem 0; }
  .price-lists .prices .list {
    border-left: solid 1px #80cd29; }
    .price-lists .prices .list:last-child {
      border-right: solid 1px #80cd29; }
    .price-lists .prices .list span {
      display: block;
      margin: 1rem 0; }
      .price-lists .prices .list span.title {
        font-size: 2rem;
        padding-bottom: 1rem; }
      .price-lists .prices .list span.price {
        color: #6ccc00;
        font-size: 1.5rem;
        font-weight: bold; }
      .price-lists .prices .list span.StudentAndSeniors {
        color: #80cd29; }
        .price-lists .prices .list span.StudentAndSeniors:before {
          content: "*";
          display: inline-block;
          vertical-align: super; }

/*#region CurtainMenu*/
/* CURTAIN MENU */
.curtain-menu {
  position: fixed;
  z-index: 2;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow: hidden;
  min-height: 100vh;
  height: 100%;
  width: 100vw;
  pointer-events: none; }
  @media screen and (min-width: 75em) {
    .curtain-menu {
      display: none; } }

.curtain-menu-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  height: 100vh;
  width: 100vw;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  transition-delay: 0.5s;
  visibility: hidden; }
  .curtain-menu-wrapper .curtain-menu-list li {
    width: 100%;
    font-weight: 100;
    font-size: 1rem;
    min-height: 1rem;
    padding: 1rem;
    text-align: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    transition: all 0.2s ease-in;
    font-size: 1rem; }
    @media screen and (max-width: 39.9375em) {
      .curtain-menu-wrapper .curtain-menu-list li {
        padding: 0; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .curtain-menu-wrapper .curtain-menu-list li {
        font-size: 1.25rem; } }
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {
      .curtain-menu-wrapper .curtain-menu-list li {
        font-size: 1.5rem; } }
    .curtain-menu-wrapper .curtain-menu-list li ul.social li {
      width: auto;
      margin: 0 auto; }
    .curtain-menu-wrapper .curtain-menu-list li:hover {
      background: rgba(254, 254, 254, 0.7); }
      .curtain-menu-wrapper .curtain-menu-list li:hover a {
        color: #191919; }
    .curtain-menu-wrapper .curtain-menu-list li a {
      color: #fefefe;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; }

.curtain-menu .curtain {
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  transition: -webkit-flex 0.45s;
  transition: flex 0.45s;
  transition: flex 0.45s, -webkit-flex 0.45s, -ms-flex 0.45s; }
  .curtain-menu .curtain:nth-child(2) {
    -webkit-flex: 1 0 100%;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    background: transparent; }
  .curtain-menu .curtain:nth-child(odd) {
    background: #191919; }

.curtain-menu-button {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 5; }
  @media screen and (min-width: 75em) {
    .curtain-menu-button {
      display: none; } }

.curtain-menu-button-toggle {
  background: #6ccc00;
  padding: 2rem;
  position: relative;
  cursor: pointer; }
  .curtain-menu-button-toggle div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.75rem;
    height: 0.375rem;
    background: #191919;
    transition: opacity 0.3s, -webkit-transform 0.3s;
    transition: transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
    transition-delay: 0.5s; }
  .curtain-menu-button-toggle .bar1 {
    -webkit-transform: translateX(-50%) translateY(-300%) rotate(0deg);
        -ms-transform: translateX(-50%) translateY(-300%) rotate(0deg);
            transform: translateX(-50%) translateY(-300%) rotate(0deg); }
  .curtain-menu-button-toggle .bar2 {
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(0deg);
        -ms-transform: translateX(-50%) translateY(-50%) rotate(0deg);
            transform: translateX(-50%) translateY(-50%) rotate(0deg); }
  .curtain-menu-button-toggle .bar3 {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(200%) rotate(0deg);
        -ms-transform: translateX(-50%) translateY(200%) rotate(0deg);
            transform: translateX(-50%) translateY(200%) rotate(0deg); }
  .curtain-menu-button-toggle:hover {
    background: #191919; }
    .curtain-menu-button-toggle:hover div {
      background: #fefefe; }
  .curtain-menu-button-toggle:active {
    box-shadow: none; }

.curtain-menu-open .curtain:nth-child(2) {
  -webkit-flex: 0 0 0%;
      -ms-flex: 0 0 0%;
          flex: 0 0 0%; }

.curtain-menu-open .curtain-menu-wrapper {
  -webkit-transform: translateY(0%);
      -ms-transform: translateY(0%);
          transform: translateY(0%);
  visibility: visible;
  pointer-events: all; }

.curtain-menu-open .curtain-menu-button-toggle .bar1 {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
      -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
          transform: translateX(-50%) translateY(-50%) rotate(-45deg); }

.curtain-menu-open .curtain-menu-button-toggle .bar2 {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
      -ms-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg); }

.curtain-menu-open .curtain-menu-button-toggle .bar3 {
  opacity: 0; }

/*#endregion  CurtainMenu*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNDakIsYUFBYTtBQzhEYixrRkFBWTtBQy9EWjs7Ozs7R0FLRztBQzBKRztFQ25ISjtJQUNFLFlBQVk7SUFDWixXQUFXO0lBQ1gsZUFBZSxFQUNoQixFQUFBOztBQ0hELGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7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RiwyQkFEMEQsRUg0QnpEO0VBRkM7SUd6QkYsaUNBRDBELEVINEJ6RDtFQUZDO0lHekJGLGlDQUQwRCxFSDRCekQ7RUFGQztJR3pCRiw0QkFEMEQsRUg0QnpEO0VQOENDO0lPNURGO01HckJBLFlBQW9CLEVIdUJyQjtJQUVDO01HckJBLFlBQW9CLEVIdUJyQjtJQU1HO01HekJGLGlDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNkJBRDBELEVINEJ6RDtJQWREO01HckJBLFlBQW9CLEVIdUJyQjtJQUVDO01HckJBLFlBQW9CLEVIdUJyQjtJQU1HO01HekJGLGlDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNkJBRDBELEVINEJ6RCxFQUFBO0VQOENDO0lPNURGO01HckJBLFlBQW9CLEVIdUJyQjtJQUVDO01HckJBLFlBQW9CLEVIdUJyQjtJQU1HO01HekJGLGlDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNkJBRDBELEVINEJ6RCxFQUFBO0VQbURDO0lPakVGO01HckJBLFlBQW9CLEVIdUJyQjtJQUVDO01HckJBLFlBQW9CLEVIdUJyQjtJQU1HO01HekJGLGlDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNkJBRDBELEVINEJ6RCxFQUFBO0VQbURDO0lPakVGO01HckJBLFlBQW9CLEVIdUJyQjtJQUVDO01HckJBLFlBQW9CLEVIdUJyQjtJQU1HO01HekJGLGlDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNEJBRDBELEVINEJ6RDtJQUZDO01HekJGLGtDQUQwRCxFSDRCekQ7SUFGQztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsNkJBRDBELEVINEJ6RCxFQUFBOztBQThDSDtFSS9ITSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVKb0kvQjtFUExDO0lPQUo7TUkvSE0seUJBQTRCO01BQTVCLHdCQUE0QixFSm9JL0IsRUFBQTs7QUFMSDtFSS9ITSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVKeUkvQjtFUFZDO0lPQUo7TUkvSE0seUJBQTRCO01BQTVCLHdCQUE0QixFSnlJL0IsRUFBQTs7QUs1SUM7RUZ5REYsWUFEb0QsRUV0RHJEOztBQUZHO0VGeURGLFdBRG9ELEVFdERyRDs7QUFGRztFRnlERixpQkFEb0QsRUV0RHJEOztBQUZHO0VGeURGLFdBRG9ELEVFdERyRDs7QUFGRztFRnlERixXQURvRCxFRXREckQ7O0FBRkc7RUZ5REYsaUJBRG9ELEVFdERyRDs7QUFGRztFRnlERixpQkFEb0QsRUV0RHJEOztBQUZHO0VGeURGLGFBRG9ELEVFdERyRDs7QVpnSUc7RVlsSUE7SUZ5REYsWUFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsYUFEb0QsRUV0RHJELEVBQUE7O0FaZ0lHO0VZbElBO0lGeURGLFlBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGFBRG9ELEVFdERyRCxFQUFBOztBWnFJRztFWXZJQTtJRnlERixZQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixhQURvRCxFRXREckQsRUFBQTs7QVpxSUc7RVl2SUE7SUZ5REYsWUFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsYUFEb0QsRUV0RHJELEVBQUE7O0FBRkc7RUZ5REYsNEJBRDBELEVFdEQzRDs7QUFGRztFRnlERiwyQkFEMEQsRUV0RDNEOztBQUZHO0VGeURGLGlDQUQwRCxFRXREM0Q7O0FBRkc7RUZ5REYsMkJBRDBELEVFdEQzRDs7QUFGRztFRnlERiwyQkFEMEQsRUV0RDNEOztBQUZHO0VGeURGLGlDQUQwRCxFRXREM0Q7O0FBRkc7RUZ5REYsaUNBRDBELEVFdEQzRDs7QUFGRztFRnlERiw2QkFEMEQsRUV0RDNEOztBWmdJRztFWWxJQTtJRnlERiw2QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsNEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsNEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERixrQ0FEMEQsRUV0RDNEO0VBRkc7SUZ5REYsOEJBRDBELEVFdEQzRDtFQUZHO0lGeURGLDZCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDRCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw4QkFEMEQsRUV0RDNELEVBQUE7O0FaZ0lHO0VZbElBO0lGeURGLDZCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDRCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw4QkFEMEQsRUV0RDNELEVBQUE7O0FacUlHO0VZdklBO0lGeURGLDZCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDRCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw4QkFEMEQsRUV0RDNELEVBQUE7O0FacUlHO0VZdklBO0lGeURGLDZCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLDRCQUQwRCxFRXREM0Q7RUFGRztJRnlERiw0QkFEMEQsRUV0RDNEO0VBRkc7SUZ5REYsa0NBRDBELEVFdEQzRDtFQUZHO0lGeURGLGtDQUQwRCxFRXREM0Q7RUFGRztJRnlERiw4QkFEMEQsRUV0RDNELEVBQUE7O0FMc0xHO0VNL0xBLGdCQUEyQjtFQUEzQixlQUEyQixFTmlNMUI7RU05TEM7SUFFRSxnQkFBMkI7SUFBM0IsZUFBMkIsRUFFOUI7RUFNRztJSG1ETixnQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFlBRG9ELEVHaEQvQztFQUZDO0lIbUROLGdCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sWUFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sZ0JBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixZQURvRCxFR2hEL0M7RUFGQztJSG1ETixnQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFlBRG9ELEVHaEQvQztFQUZDO0lIbUROLGdCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sWUFEb0QsRUdoRC9DOztBTnNMSDtFTS9LQSxnQkFBMkI7RUFBM0IsZUFBMkIsRU5pTDFCO0VNOUtEO0lBRUUsaUJBQTZCO0lBQTdCLGdCQUE2QixFQUVoQzs7QWI0R0M7RU9zREE7SU0vTEEsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOaU0xQjtJTTlMQztNQUVFLGdCQUEyQjtNQUEzQixlQUEyQixFQUU5QjtJQU1HO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7RU5zTEg7SU0vS0EsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOaUwxQjtJTTlLRDtNQUVFLGlCQUE2QjtNQUE3QixnQkFBNkIsRUFFaEMsRUFBQTs7QWI0R0M7RU9zREE7SU0vTEEsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOaU0xQjtJTTlMQztNQUVFLGdCQUEyQjtNQUEzQixlQUEyQixFQUU5QjtJQU1HO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7RU5zTEg7SU0vS0EsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOaUwxQjtJTTlLRDtNQUVFLGlCQUE2QjtNQUE3QixnQkFBNkIsRUFFaEMsRUFBQTs7QWJpSEM7RU9pREE7SU0vTEEsZ0JBQTJCO0lBQTNCLGVBQTJCLEVOaU0xQjtJTTlMQztNQUVFLGdCQUEyQjtNQUEzQixlQUEyQixFQUU5QjtJQU1HO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7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QU5EO0VPaE5GLHNCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsdUNBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixrQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsd0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixrQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsd0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsaUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORixrQ0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLHVCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsd0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FQaEZEO0VPMEVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFFRDtJT3BORixrQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsc0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHdDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQixFQUFBOztBUGhGRDtFTzBFQTtJT2hORixnQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsa0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHNCQUE2QixFUGtOMUI7RUFFRDtJT3BORix3Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUIsRUFBQTs7QVAzRUQ7RU9xRUE7SU9oTkYsZ0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGtDQUE2QixFUHNOMUI7RUFORDtJT2hORixzQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsd0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCLEVBQUE7O0FQM0VEO0VPcUVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFFRDtJT3BORixrQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsc0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHdDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9w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QUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDhCQUQwRCxFSDRCekQ7SUFkRDtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDhCQUQwRCxFSDRCekQsRUFBQTtFUDhDQztJTzVERjtNR3JCQSxhQUFvQixFSHVCckI7SUFFQztNR3JCQSxhQUFvQixFSHVCckI7SUFNRztNR3pCRixrQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDZCQUQwRCxFSDRCekQ7SUFGQztNR3pCRixtQ0FEMEQsRUg0QnpEO0lBRkM7TUd6QkYsbUNBRDBELEVINEJ6RDtJQUZDO01HekJGLDhCQUQwRCxFSDRCekQsRUFBQTtFUG1EQztJT2pFRjtN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SUkscUJQdlBVO0VPbVFWLGlCbEI3TVc7RWtCcU5YLGNBQWM7RUFPZCxzQmxCM05pQixFa0I2TnBCOztBQWpDRDtFQUlJLGdCUHZQVTtFT21RVixpQmxCN01XO0VrQnFOWCxjQUFjO0VBT2Qsc0JsQjNOaUIsRWtCNk5wQjs7QWhCN01IO0VnQjRLRTtJQUlJLGdCUHZQVSxFT29SYjtFQWpDRDtJQUlJLGtCUHZQVSxFT29SYjtFQWpDRDtJQUlJLHFCUHZQVSxFT29SYjtFQWpDRDtJQUlJLHFCUHZQVSxFT29SYjtFQWpDRDtJQUlJLG1CUHZQVSxFT29SYjtFQWpDRDtJQUlJLGdCUHZQVSxFT29SYixFQUFBOztBQU1QO0VBQ0UscUJBQXFCO0VBQ3JCLGVsQmxUUztFa0JtVFQsc0JsQnJNeUI7RWtCdU16QixnQkFBZ0IsRUFhakI7RUFsQkQ7SUFTSSxlbEI1TTBCLEVrQmdOM0I7RUFiSDtJQWdCSSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxZQUFZO0VBRVosaUJQbFRrQjtFT21UbEIsVUFBVTtFQUNWLHFCbEJ4TnlCO0VrQjBOekIsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixpQ2xCNVRpQjtFa0I2VGpCLGVBQWUsRUFDaEI7O0FBR0Q7OztFQUdFLG9CbEJsUDBCO0VrQm1QMUIsNkJsQmpPeUI7RWtCa096QixpQmxCclBzQixFa0JzUHZCOztBQUdEO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUdEO0VBQ0UscUJsQjNPc0I7RWtCNE90QixzQmxCOU9rQixFa0IrT25COztBQUdEO0VBQ0UscUJsQmpQc0IsRWtCa1B2Qjs7QUFHRDtFQUVJLHFCbEJ0UDJCO0VrQnVQM0IsaUJBQWlCLEVBQ2xCOztBQUlIO0VBQ0Usb0JsQjVQeUIsRWtCa1ExQjtFQVBEO0lBSUksc0JsQjdQOEI7SWtCOFA5QixrQmxCM1ZtQixFa0I0VnBCOztBQUlIO0VBQ0UsaUJsQjNSMEI7RWtCNFIxQix1Q1AxV2tCO0VPMldsQiwrQmxCL1dpQixFa0JxWGxCO0VBVEQ7SUFNSSxpQmxCalNvQjtJa0JrU3BCLGVsQmxYYSxFa0JtWGQ7O0FBSUg7RUFDRSxl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QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QUFGRDtFQ25DSixpQkRrQ2dCO01DbENoQixrQkRrQ2dCO1VDbENoQixTRGtDZ0IsRUFHWDs7QTdEaUREO0U2RG5EQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEaUREO0U2RG5EQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEc0REO0U2RHhEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QTdEc0REO0U2RHhEQTtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSixpQkRrQ2dCO1FDbENoQixrQkRrQ2dCO1lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLGlCRGtDZ0I7UUNsQ2hCLGtCRGtDZ0I7WUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osaUJEa0NnQjtRQ2xDaEIsa0JEa0NnQjtZQ2xDaEIsU0RrQ2dCLEVBR1gsRUFBQTs7QUE3Rkw7RUNPQSxzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYyxFRExiOztBQUVEO0VBQ0UsdUJBQWU7TUFBZixtQkFBZTtVQUFmLGVBQWUsRUFDaEI7O0FBRUQ7RUFDRSx1QkFBZTtNQUFmLG1CQUFlO1VBQWYsZUFBZSxFQUNoQjs7QUFFRDtFQUNFLHVCQUFlO01BQWYsbUJBQWU7VUFBZixlQUFlLEVBQ2hCOztBQUdDO0VDaURGLDRCQW5FVTtNQW1F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WTtFSnFDWiw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpFSDtFRTRCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlRIO0VBdkJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpHSDtFRTJCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlJIO0VBeEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbkNlO1VKbUNmLDhDSW5DZTtFSm1DZixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpJSDtFRTBCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RJbENhO1VKa0NiLDhDSWxDYTtFSmtDYiwrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpLSDtFRXlCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSk5IO0VBMUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWixpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpNSDtFRXdCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkxIO0VBM0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURJcENjO1VKb0NkLCtDSXBDYztFSm9DZCxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpPSDtFRXVCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4Qyw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpRSDtFRXNCRSx1RElyQ1k7VUpxQ1osK0NJckNZO0VDdUJWLFdBQThCLEVISi9COztBSkhIO0VBN0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxnQ0FGaUI7TUFFakIsNEJBRmlCO1VBRWpCLHdCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpTSDtFRXFCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSkZIO0VBOUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QyxpQ0FGaUI7TUFFakIsNkJBRmlCO1VBRWpCLHlCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpVSDtFRW9CRSxzREluQ2U7VUptQ2YsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztF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aUVBQWlEO1VBQWpELDZEQUFpRCxFQUNwRDs7QUFsQlQ7RUFxQlksV0FBVyxFQUNkOztBQUlULDJCQUEyQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogRklUTkVTUyAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UmlnaHRlb3VzJnN1YnNldD1sYXRpbi1leHRcIik7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogIzE5MTkxOTtcbiAgZm9udC1mYW1pbHk6IFwiWmVrdG9uXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lci1wYWRkZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5ncmlkLXgsICNhYm91dCwgLmJsb2NrIC5jb250ZW50LCAjc2VydmljZXMsICN0cmVuZXJzLCAjY291cnNlcywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQsICN0b3VyIC5tZWRpYSAuY29udGVudCwgLnJldmVhbCAuY29udGVudCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucHJpY2UtbGlzdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsLCAjc2VydmljZXMgLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5zZXJ2aWNlLWJveCwgLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUtYm94LCAjdHJlbmVycyAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8sICNzZXJ2aWNlcyAuYXV0by50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUtYm94LnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLmF1dG8uc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuc2VydmljZS1ib3gucXVvdGUtYmxvY2ssIC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmF1dG8udGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUtYm94LnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuYXV0by50cmVuZXItYm94LCAjdHJlbmVycyAudHJlbmVyLWJveC5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLmF1dG8udGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94LnF1b3RlLWJsb2NrLCAjY291cnNlcyAuYXV0by5jb3Vyc2UtYm94LCAjY291cnNlcyAuY291cnNlLWJveC5xdW90ZS1ibG9jaywgLnJldmVhbCAuYXV0by5pbWFnZSwgLnJldmVhbCAuaW1hZ2UucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLmF1dG8uYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZS5xdW90ZS1ibG9jayB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmssICNzZXJ2aWNlcyAuc2hyaW5rLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5zaHJpbmsuc2VydmljZS1ib3gsIC5zaHJpbmsucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zaHJpbmsudGl0bGUtYm94LCAjdHJlbmVycyAuc2hyaW5rLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5zaHJpbmsudGl0bGUtYm94LCAjY291cnNlcyAuc2hyaW5rLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnNocmluay5pbWFnZSwgI2FydGljbGUtbGlzdCAuc2hyaW5rLmFydGljbGUge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0bywgI2Fib3V0ID4gLmF1dG8sIC5ibG9jayAuY29udGVudCA+IC5hdXRvLCAjc2VydmljZXMgPiAuYXV0bywgI3RyZW5lcnMgPiAuYXV0bywgI2NvdXJzZXMgPiAuYXV0bywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5hdXRvLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5hdXRvLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuYXV0bywgLnJldmVhbCAuY29udGVudCA+IC5hdXRvLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuYXV0bywgLnByaWNlLWxpc3RzID4gLmF1dG8sIC5ncmlkLXggPiAucXVvdGUtYmxvY2ssICNhYm91dCA+IC5xdW90ZS1ibG9jaywgLmJsb2NrIC5jb250ZW50ID4gLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyA+IC5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAucXVvdGUtYmxvY2ssICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5xdW90ZS1ibG9jaywgLnJldmVhbCAuY29udGVudCA+IC5xdW90ZS1ibG9jaywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnF1b3RlLWJsb2NrLCAucHJpY2UtbGlzdHMgPiAucXVvdGUtYmxvY2sge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluaywgI2Fib3V0ID4gLnNocmluaywgLmJsb2NrIC5jb250ZW50ID4gLnNocmluaywgI3NlcnZpY2VzID4gLnNocmluaywgI3RyZW5lcnMgPiAuc2hyaW5rLCAjY291cnNlcyA+IC5zaHJpbmssICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuc2hyaW5rLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zaHJpbmssICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5zaHJpbmssIC5yZXZlYWwgLmNvbnRlbnQgPiAuc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2hyaW5rLCAucHJpY2UtbGlzdHMgPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IHNtYWxsLXNocmluaywgI2Fib3V0ID4gc21hbGwtc2hyaW5rLCAuYmxvY2sgLmNvbnRlbnQgPiBzbWFsbC1zaHJpbmssICNzZXJ2aWNlcyA+IHNtYWxsLXNocmluaywgI3RyZW5lcnMgPiBzbWFsbC1zaHJpbmssICNjb3Vyc2VzID4gc21hbGwtc2hyaW5rLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtc2hyaW5rLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHNtYWxsLXNocmluaywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gc21hbGwtc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBzbWFsbC1zaHJpbmssIC5wcmljZS1saXN0cyA+IHNtYWxsLXNocmluaywgLmdyaWQteCA+IHNtYWxsLWZ1bGwsICNhYm91dCA+IHNtYWxsLWZ1bGwsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLWZ1bGwsICNzZXJ2aWNlcyA+IHNtYWxsLWZ1bGwsICN0cmVuZXJzID4gc21hbGwtZnVsbCwgI2NvdXJzZXMgPiBzbWFsbC1mdWxsLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtZnVsbCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC1mdWxsLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC1mdWxsLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtZnVsbCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtZnVsbCwgLnByaWNlLWxpc3RzID4gc21hbGwtZnVsbCwgLmdyaWQteCA+IHNtYWxsLTEsICNhYm91dCA+IHNtYWxsLTEsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTEsICNzZXJ2aWNlcyA+IHNtYWxsLTEsICN0cmVuZXJzID4gc21hbGwtMSwgI2NvdXJzZXMgPiBzbWFsbC0xLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC0xLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC0xLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtMSwgLnByaWNlLWxpc3RzID4gc21hbGwtMSwgLmdyaWQteCA+IHNtYWxsLTIsICNhYm91dCA+IHNtYWxsLTIsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTIsICNzZXJ2aWNlcyA+IHNtYWxsLTIsICN0cmVuZXJzID4gc21hbGwtMiwgI2NvdXJzZXMgPiBzbWFsbC0yLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC0yLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC0yLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtMiwgLnByaWNlLWxpc3RzID4gc21hbGwtMiwgLmdyaWQteCA+IHNtYWxsLTMsICNhYm91dCA+IHNtYWxsLTMsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTMsICNzZXJ2aWNlcyA+IHNtYWxsLTMsICN0cmVuZXJzID4gc21hbGwtMywgI2NvdXJzZXMgPiBzbWFsbC0zLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC0zLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC0zLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtMywgLnByaWNlLWxpc3RzID4gc21hbGwtMywgLmdyaWQteCA+IHNtYWxsLTQsICNhYm91dCA+IHNtYWxsLTQsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTQsICNzZXJ2aWNlcyA+IHNtYWxsLTQsICN0cmVuZXJzID4gc21hbGwtNCwgI2NvdXJzZXMgPiBzbWFsbC00LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtNCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC00LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC00LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtNCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtNCwgLnByaWNlLWxpc3RzID4gc21hbGwtNCwgLmdyaWQteCA+IHNtYWxsLTUsICNhYm91dCA+IHNtYWxsLTUsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTUsICNzZXJ2aWNlcyA+IHNtYWxsLTUsICN0cmVuZXJzID4gc21hbGwtNSwgI2NvdXJzZXMgPiBzbWFsbC01LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtNSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC01LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtNSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtNSwgLnByaWNlLWxpc3RzID4gc21hbGwtNSwgLmdyaWQteCA+IHNtYWxsLTYsICNhYm91dCA+IHNtYWxsLTYsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTYsICNzZXJ2aWNlcyA+IHNtYWxsLTYsICN0cmVuZXJzID4gc21hbGwtNiwgI2NvdXJzZXMgPiBzbWFsbC02LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtNiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC02LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC02LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtNiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtNiwgLnByaWNlLWxpc3RzID4gc21hbGwtNiwgLmdyaWQteCA+IHNtYWxsLTcsICNhYm91dCA+IHNtYWxsLTcsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTcsICNzZXJ2aWNlcyA+IHNtYWxsLTcsICN0cmVuZXJzID4gc21hbGwtNywgI2NvdXJzZXMgPiBzbWFsbC03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtNywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC03LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC03LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtNywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtNywgLnByaWNlLWxpc3RzID4gc21hbGwtNywgLmdyaWQteCA+IHNtYWxsLTgsICNhYm91dCA+IHNtYWxsLTgsIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTgsICNzZXJ2aWNlcyA+IHNtYWxsLTgsICN0cmVuZXJzID4gc21hbGwtOCwgI2NvdXJzZXMgPiBzbWFsbC04LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtOCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC04LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC04LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtOCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtOCwgLnByaWNlLWxpc3RzID4gc21hbGwtOCwgLmdyaWQteCA+IHNtYWxsLTksICNhYm91dCA+IHNtYWxsLTksIC5ibG9jayAuY29udGVudCA+IHNtYWxsLTksICNzZXJ2aWNlcyA+IHNtYWxsLTksICN0cmVuZXJzID4gc21hbGwtOSwgI2NvdXJzZXMgPiBzbWFsbC05LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtOSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBzbWFsbC05LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBzbWFsbC05LCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtOSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gc21hbGwtOSwgLnByaWNlLWxpc3RzID4gc21hbGwtOSwgLmdyaWQteCA+IHNtYWxsLTEwLCAjYWJvdXQgPiBzbWFsbC0xMCwgLmJsb2NrIC5jb250ZW50ID4gc21hbGwtMTAsICNzZXJ2aWNlcyA+IHNtYWxsLTEwLCAjdHJlbmVycyA+IHNtYWxsLTEwLCAjY291cnNlcyA+IHNtYWxsLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMTAsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gc21hbGwtMTAsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHNtYWxsLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMTAsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHNtYWxsLTEwLCAucHJpY2UtbGlzdHMgPiBzbWFsbC0xMCwgLmdyaWQteCA+IHNtYWxsLTExLCAjYWJvdXQgPiBzbWFsbC0xMSwgLmJsb2NrIC5jb250ZW50ID4gc21hbGwtMTEsICNzZXJ2aWNlcyA+IHNtYWxsLTExLCAjdHJlbmVycyA+IHNtYWxsLTExLCAjY291cnNlcyA+IHNtYWxsLTExLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gc21hbGwtMTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHNtYWxsLTExLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHNtYWxsLTExLCAucHJpY2UtbGlzdHMgPiBzbWFsbC0xMSwgLmdyaWQteCA+IHNtYWxsLTEyLCAjYWJvdXQgPiBzbWFsbC0xMiwgLmJsb2NrIC5jb250ZW50ID4gc21hbGwtMTIsICNzZXJ2aWNlcyA+IHNtYWxsLTEyLCAjdHJlbmVycyA+IHNtYWxsLTEyLCAjY291cnNlcyA+IHNtYWxsLTEyLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gc21hbGwtMTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gc21hbGwtMTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHNtYWxsLTEyLCAucmV2ZWFsIC5jb250ZW50ID4gc21hbGwtMTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHNtYWxsLTEyLCAucHJpY2UtbGlzdHMgPiBzbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IG1lZGl1bS1zaHJpbmssICNhYm91dCA+IG1lZGl1bS1zaHJpbmssIC5ibG9jayAuY29udGVudCA+IG1lZGl1bS1zaHJpbmssICNzZXJ2aWNlcyA+IG1lZGl1bS1zaHJpbmssICN0cmVuZXJzID4gbWVkaXVtLXNocmluaywgI2NvdXJzZXMgPiBtZWRpdW0tc2hyaW5rLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLXNocmluaywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBtZWRpdW0tc2hyaW5rLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBtZWRpdW0tc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLXNocmluaywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gbWVkaXVtLXNocmluaywgLnByaWNlLWxpc3RzID4gbWVkaXVtLXNocmluaywgLmdyaWQteCA+IG1lZGl1bS1mdWxsLCAjYWJvdXQgPiBtZWRpdW0tZnVsbCwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLWZ1bGwsICNzZXJ2aWNlcyA+IG1lZGl1bS1mdWxsLCAjdHJlbmVycyA+IG1lZGl1bS1mdWxsLCAjY291cnNlcyA+IG1lZGl1bS1mdWxsLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLWZ1bGwsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLWZ1bGwsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS1mdWxsLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLWZ1bGwsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS1mdWxsLCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tZnVsbCwgLmdyaWQteCA+IG1lZGl1bS0xLCAjYWJvdXQgPiBtZWRpdW0tMSwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTEsICNzZXJ2aWNlcyA+IG1lZGl1bS0xLCAjdHJlbmVycyA+IG1lZGl1bS0xLCAjY291cnNlcyA+IG1lZGl1bS0xLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS0xLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS0xLCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tMSwgLmdyaWQteCA+IG1lZGl1bS0yLCAjYWJvdXQgPiBtZWRpdW0tMiwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTIsICNzZXJ2aWNlcyA+IG1lZGl1bS0yLCAjdHJlbmVycyA+IG1lZGl1bS0yLCAjY291cnNlcyA+IG1lZGl1bS0yLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS0yLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS0yLCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tMiwgLmdyaWQteCA+IG1lZGl1bS0zLCAjYWJvdXQgPiBtZWRpdW0tMywgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTMsICNzZXJ2aWNlcyA+IG1lZGl1bS0zLCAjdHJlbmVycyA+IG1lZGl1bS0zLCAjY291cnNlcyA+IG1lZGl1bS0zLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTMsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTMsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS0zLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTMsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS0zLCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tMywgLmdyaWQteCA+IG1lZGl1bS00LCAjYWJvdXQgPiBtZWRpdW0tNCwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTQsICNzZXJ2aWNlcyA+IG1lZGl1bS00LCAjdHJlbmVycyA+IG1lZGl1bS00LCAjY291cnNlcyA+IG1lZGl1bS00LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTQsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTQsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS00LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTQsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS00LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tNCwgLmdyaWQteCA+IG1lZGl1bS01LCAjYWJvdXQgPiBtZWRpdW0tNSwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTUsICNzZXJ2aWNlcyA+IG1lZGl1bS01LCAjdHJlbmVycyA+IG1lZGl1bS01LCAjY291cnNlcyA+IG1lZGl1bS01LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTUsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS01LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS01LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tNSwgLmdyaWQteCA+IG1lZGl1bS02LCAjYWJvdXQgPiBtZWRpdW0tNiwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTYsICNzZXJ2aWNlcyA+IG1lZGl1bS02LCAjdHJlbmVycyA+IG1lZGl1bS02LCAjY291cnNlcyA+IG1lZGl1bS02LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTYsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTYsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS02LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTYsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS02LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tNiwgLmdyaWQteCA+IG1lZGl1bS03LCAjYWJvdXQgPiBtZWRpdW0tNywgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTcsICNzZXJ2aWNlcyA+IG1lZGl1bS03LCAjdHJlbmVycyA+IG1lZGl1bS03LCAjY291cnNlcyA+IG1lZGl1bS03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTcsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTcsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS03LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTcsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS03LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tNywgLmdyaWQteCA+IG1lZGl1bS04LCAjYWJvdXQgPiBtZWRpdW0tOCwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTgsICNzZXJ2aWNlcyA+IG1lZGl1bS04LCAjdHJlbmVycyA+IG1lZGl1bS04LCAjY291cnNlcyA+IG1lZGl1bS04LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTgsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTgsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS04LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTgsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS04LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tOCwgLmdyaWQteCA+IG1lZGl1bS05LCAjYWJvdXQgPiBtZWRpdW0tOSwgLmJsb2NrIC5jb250ZW50ID4gbWVkaXVtLTksICNzZXJ2aWNlcyA+IG1lZGl1bS05LCAjdHJlbmVycyA+IG1lZGl1bS05LCAjY291cnNlcyA+IG1lZGl1bS05LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTksICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbWVkaXVtLTksICN0b3VyIC5tZWRpYSAuY29udGVudCA+IG1lZGl1bS05LCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTksIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IG1lZGl1bS05LCAucHJpY2UtbGlzdHMgPiBtZWRpdW0tOSwgLmdyaWQteCA+IG1lZGl1bS0xMCwgI2Fib3V0ID4gbWVkaXVtLTEwLCAuYmxvY2sgLmNvbnRlbnQgPiBtZWRpdW0tMTAsICNzZXJ2aWNlcyA+IG1lZGl1bS0xMCwgI3RyZW5lcnMgPiBtZWRpdW0tMTAsICNjb3Vyc2VzID4gbWVkaXVtLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTEwLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IG1lZGl1bS0xMCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbWVkaXVtLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTEwLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBtZWRpdW0tMTAsIC5wcmljZS1saXN0cyA+IG1lZGl1bS0xMCwgLmdyaWQteCA+IG1lZGl1bS0xMSwgI2Fib3V0ID4gbWVkaXVtLTExLCAuYmxvY2sgLmNvbnRlbnQgPiBtZWRpdW0tMTEsICNzZXJ2aWNlcyA+IG1lZGl1bS0xMSwgI3RyZW5lcnMgPiBtZWRpdW0tMTEsICNjb3Vyc2VzID4gbWVkaXVtLTExLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTExLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IG1lZGl1bS0xMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbWVkaXVtLTExLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTExLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBtZWRpdW0tMTEsIC5wcmljZS1saXN0cyA+IG1lZGl1bS0xMSwgLmdyaWQteCA+IG1lZGl1bS0xMiwgI2Fib3V0ID4gbWVkaXVtLTEyLCAuYmxvY2sgLmNvbnRlbnQgPiBtZWRpdW0tMTIsICNzZXJ2aWNlcyA+IG1lZGl1bS0xMiwgI3RyZW5lcnMgPiBtZWRpdW0tMTIsICNjb3Vyc2VzID4gbWVkaXVtLTEyLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gbWVkaXVtLTEyLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IG1lZGl1bS0xMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbWVkaXVtLTEyLCAucmV2ZWFsIC5jb250ZW50ID4gbWVkaXVtLTEyLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBtZWRpdW0tMTIsIC5wcmljZS1saXN0cyA+IG1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiBsYXJnZS1zaHJpbmssICNhYm91dCA+IGxhcmdlLXNocmluaywgLmJsb2NrIC5jb250ZW50ID4gbGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiBsYXJnZS1zaHJpbmssICN0cmVuZXJzID4gbGFyZ2Utc2hyaW5rLCAjY291cnNlcyA+IGxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLXNocmluaywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiBsYXJnZS1zaHJpbmssICN0b3VyIC5tZWRpYSAuY29udGVudCA+IGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gbGFyZ2Utc2hyaW5rLCAucHJpY2UtbGlzdHMgPiBsYXJnZS1zaHJpbmssIC5ncmlkLXggPiBsYXJnZS1mdWxsLCAjYWJvdXQgPiBsYXJnZS1mdWxsLCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS1mdWxsLCAjc2VydmljZXMgPiBsYXJnZS1mdWxsLCAjdHJlbmVycyA+IGxhcmdlLWZ1bGwsICNjb3Vyc2VzID4gbGFyZ2UtZnVsbCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLWZ1bGwsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtZnVsbCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtZnVsbCwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLWZ1bGwsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLWZ1bGwsIC5wcmljZS1saXN0cyA+IGxhcmdlLWZ1bGwsIC5ncmlkLXggPiBsYXJnZS0xLCAjYWJvdXQgPiBsYXJnZS0xLCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS0xLCAjc2VydmljZXMgPiBsYXJnZS0xLCAjdHJlbmVycyA+IGxhcmdlLTEsICNjb3Vyc2VzID4gbGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTEsIC5wcmljZS1saXN0cyA+IGxhcmdlLTEsIC5ncmlkLXggPiBsYXJnZS0yLCAjYWJvdXQgPiBsYXJnZS0yLCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS0yLCAjc2VydmljZXMgPiBsYXJnZS0yLCAjdHJlbmVycyA+IGxhcmdlLTIsICNjb3Vyc2VzID4gbGFyZ2UtMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtMiwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTIsIC5wcmljZS1saXN0cyA+IGxhcmdlLTIsIC5ncmlkLXggPiBsYXJnZS0zLCAjYWJvdXQgPiBsYXJnZS0zLCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS0zLCAjc2VydmljZXMgPiBsYXJnZS0zLCAjdHJlbmVycyA+IGxhcmdlLTMsICNjb3Vyc2VzID4gbGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTMsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtMywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTMsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTMsIC5wcmljZS1saXN0cyA+IGxhcmdlLTMsIC5ncmlkLXggPiBsYXJnZS00LCAjYWJvdXQgPiBsYXJnZS00LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS00LCAjc2VydmljZXMgPiBsYXJnZS00LCAjdHJlbmVycyA+IGxhcmdlLTQsICNjb3Vyc2VzID4gbGFyZ2UtNCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTQsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtNCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtNCwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTQsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTQsIC5wcmljZS1saXN0cyA+IGxhcmdlLTQsIC5ncmlkLXggPiBsYXJnZS01LCAjYWJvdXQgPiBsYXJnZS01LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS01LCAjc2VydmljZXMgPiBsYXJnZS01LCAjdHJlbmVycyA+IGxhcmdlLTUsICNjb3Vyc2VzID4gbGFyZ2UtNSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtNSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtNSwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTUsIC5wcmljZS1saXN0cyA+IGxhcmdlLTUsIC5ncmlkLXggPiBsYXJnZS02LCAjYWJvdXQgPiBsYXJnZS02LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS02LCAjc2VydmljZXMgPiBsYXJnZS02LCAjdHJlbmVycyA+IGxhcmdlLTYsICNjb3Vyc2VzID4gbGFyZ2UtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTYsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtNiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtNiwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTYsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTYsIC5wcmljZS1saXN0cyA+IGxhcmdlLTYsIC5ncmlkLXggPiBsYXJnZS03LCAjYWJvdXQgPiBsYXJnZS03LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS03LCAjc2VydmljZXMgPiBsYXJnZS03LCAjdHJlbmVycyA+IGxhcmdlLTcsICNjb3Vyc2VzID4gbGFyZ2UtNywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTcsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtNywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtNywgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTcsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTcsIC5wcmljZS1saXN0cyA+IGxhcmdlLTcsIC5ncmlkLXggPiBsYXJnZS04LCAjYWJvdXQgPiBsYXJnZS04LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS04LCAjc2VydmljZXMgPiBsYXJnZS04LCAjdHJlbmVycyA+IGxhcmdlLTgsICNjb3Vyc2VzID4gbGFyZ2UtOCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTgsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtOCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtOCwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTgsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTgsIC5wcmljZS1saXN0cyA+IGxhcmdlLTgsIC5ncmlkLXggPiBsYXJnZS05LCAjYWJvdXQgPiBsYXJnZS05LCAuYmxvY2sgLmNvbnRlbnQgPiBsYXJnZS05LCAjc2VydmljZXMgPiBsYXJnZS05LCAjdHJlbmVycyA+IGxhcmdlLTksICNjb3Vyc2VzID4gbGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTksICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gbGFyZ2UtOSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gbGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTksIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IGxhcmdlLTksIC5wcmljZS1saXN0cyA+IGxhcmdlLTksIC5ncmlkLXggPiBsYXJnZS0xMCwgI2Fib3V0ID4gbGFyZ2UtMTAsIC5ibG9jayAuY29udGVudCA+IGxhcmdlLTEwLCAjc2VydmljZXMgPiBsYXJnZS0xMCwgI3RyZW5lcnMgPiBsYXJnZS0xMCwgI2NvdXJzZXMgPiBsYXJnZS0xMCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTEwLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IGxhcmdlLTEwLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBsYXJnZS0xMCwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTEwLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBsYXJnZS0xMCwgLnByaWNlLWxpc3RzID4gbGFyZ2UtMTAsIC5ncmlkLXggPiBsYXJnZS0xMSwgI2Fib3V0ID4gbGFyZ2UtMTEsIC5ibG9jayAuY29udGVudCA+IGxhcmdlLTExLCAjc2VydmljZXMgPiBsYXJnZS0xMSwgI3RyZW5lcnMgPiBsYXJnZS0xMSwgI2NvdXJzZXMgPiBsYXJnZS0xMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTExLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IGxhcmdlLTExLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBsYXJnZS0xMSwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTExLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBsYXJnZS0xMSwgLnByaWNlLWxpc3RzID4gbGFyZ2UtMTEsIC5ncmlkLXggPiBsYXJnZS0xMiwgI2Fib3V0ID4gbGFyZ2UtMTIsIC5ibG9jayAuY29udGVudCA+IGxhcmdlLTEyLCAjc2VydmljZXMgPiBsYXJnZS0xMiwgI3RyZW5lcnMgPiBsYXJnZS0xMiwgI2NvdXJzZXMgPiBsYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IGxhcmdlLTEyLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IGxhcmdlLTEyLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiBsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IGxhcmdlLTEyLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiBsYXJnZS0xMiwgLnByaWNlLWxpc3RzID4gbGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiB4bGFyZ2Utc2hyaW5rLCAjYWJvdXQgPiB4bGFyZ2Utc2hyaW5rLCAuYmxvY2sgLmNvbnRlbnQgPiB4bGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiB4bGFyZ2Utc2hyaW5rLCAjdHJlbmVycyA+IHhsYXJnZS1zaHJpbmssICNjb3Vyc2VzID4geGxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS1zaHJpbmssICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4geGxhcmdlLXNocmluaywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4geGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS1zaHJpbmssIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHhsYXJnZS1zaHJpbmssIC5wcmljZS1saXN0cyA+IHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiB4bGFyZ2UtZnVsbCwgI2Fib3V0ID4geGxhcmdlLWZ1bGwsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS1mdWxsLCAjc2VydmljZXMgPiB4bGFyZ2UtZnVsbCwgI3RyZW5lcnMgPiB4bGFyZ2UtZnVsbCwgI2NvdXJzZXMgPiB4bGFyZ2UtZnVsbCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS1mdWxsLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS1mdWxsLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtZnVsbCwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS1mdWxsLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtZnVsbCwgLnByaWNlLWxpc3RzID4geGxhcmdlLWZ1bGwsIC5ncmlkLXggPiB4bGFyZ2UtMSwgI2Fib3V0ID4geGxhcmdlLTEsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS0xLCAjc2VydmljZXMgPiB4bGFyZ2UtMSwgI3RyZW5lcnMgPiB4bGFyZ2UtMSwgI2NvdXJzZXMgPiB4bGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0xLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS0xLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0xLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtMSwgLnByaWNlLWxpc3RzID4geGxhcmdlLTEsIC5ncmlkLXggPiB4bGFyZ2UtMiwgI2Fib3V0ID4geGxhcmdlLTIsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS0yLCAjc2VydmljZXMgPiB4bGFyZ2UtMiwgI3RyZW5lcnMgPiB4bGFyZ2UtMiwgI2NvdXJzZXMgPiB4bGFyZ2UtMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0yLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS0yLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtMiwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0yLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtMiwgLnByaWNlLWxpc3RzID4geGxhcmdlLTIsIC5ncmlkLXggPiB4bGFyZ2UtMywgI2Fib3V0ID4geGxhcmdlLTMsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS0zLCAjc2VydmljZXMgPiB4bGFyZ2UtMywgI3RyZW5lcnMgPiB4bGFyZ2UtMywgI2NvdXJzZXMgPiB4bGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0zLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS0zLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0zLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtMywgLnByaWNlLWxpc3RzID4geGxhcmdlLTMsIC5ncmlkLXggPiB4bGFyZ2UtNCwgI2Fib3V0ID4geGxhcmdlLTQsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS00LCAjc2VydmljZXMgPiB4bGFyZ2UtNCwgI3RyZW5lcnMgPiB4bGFyZ2UtNCwgI2NvdXJzZXMgPiB4bGFyZ2UtNCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS00LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS00LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtNCwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS00LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtNCwgLnByaWNlLWxpc3RzID4geGxhcmdlLTQsIC5ncmlkLXggPiB4bGFyZ2UtNSwgI2Fib3V0ID4geGxhcmdlLTUsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS01LCAjc2VydmljZXMgPiB4bGFyZ2UtNSwgI3RyZW5lcnMgPiB4bGFyZ2UtNSwgI2NvdXJzZXMgPiB4bGFyZ2UtNSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS01LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtNSwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS01LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtNSwgLnByaWNlLWxpc3RzID4geGxhcmdlLTUsIC5ncmlkLXggPiB4bGFyZ2UtNiwgI2Fib3V0ID4geGxhcmdlLTYsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS02LCAjc2VydmljZXMgPiB4bGFyZ2UtNiwgI3RyZW5lcnMgPiB4bGFyZ2UtNiwgI2NvdXJzZXMgPiB4bGFyZ2UtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS02LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS02LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS02LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtNiwgLnByaWNlLWxpc3RzID4geGxhcmdlLTYsIC5ncmlkLXggPiB4bGFyZ2UtNywgI2Fib3V0ID4geGxhcmdlLTcsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS03LCAjc2VydmljZXMgPiB4bGFyZ2UtNywgI3RyZW5lcnMgPiB4bGFyZ2UtNywgI2NvdXJzZXMgPiB4bGFyZ2UtNywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS03LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS03LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtNywgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS03LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtNywgLnByaWNlLWxpc3RzID4geGxhcmdlLTcsIC5ncmlkLXggPiB4bGFyZ2UtOCwgI2Fib3V0ID4geGxhcmdlLTgsIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS04LCAjc2VydmljZXMgPiB4bGFyZ2UtOCwgI3RyZW5lcnMgPiB4bGFyZ2UtOCwgI2NvdXJzZXMgPiB4bGFyZ2UtOCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS04LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS04LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtOCwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS04LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtOCwgLnByaWNlLWxpc3RzID4geGxhcmdlLTgsIC5ncmlkLXggPiB4bGFyZ2UtOSwgI2Fib3V0ID4geGxhcmdlLTksIC5ibG9jayAuY29udGVudCA+IHhsYXJnZS05LCAjc2VydmljZXMgPiB4bGFyZ2UtOSwgI3RyZW5lcnMgPiB4bGFyZ2UtOSwgI2NvdXJzZXMgPiB4bGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS05LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHhsYXJnZS05LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS05LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4bGFyZ2UtOSwgLnByaWNlLWxpc3RzID4geGxhcmdlLTksIC5ncmlkLXggPiB4bGFyZ2UtMTAsICNhYm91dCA+IHhsYXJnZS0xMCwgLmJsb2NrIC5jb250ZW50ID4geGxhcmdlLTEwLCAjc2VydmljZXMgPiB4bGFyZ2UtMTAsICN0cmVuZXJzID4geGxhcmdlLTEwLCAjY291cnNlcyA+IHhsYXJnZS0xMCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0xMCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4bGFyZ2UtMTAsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHhsYXJnZS0xMCwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0xMCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geGxhcmdlLTEwLCAucHJpY2UtbGlzdHMgPiB4bGFyZ2UtMTAsIC5ncmlkLXggPiB4bGFyZ2UtMTEsICNhYm91dCA+IHhsYXJnZS0xMSwgLmJsb2NrIC5jb250ZW50ID4geGxhcmdlLTExLCAjc2VydmljZXMgPiB4bGFyZ2UtMTEsICN0cmVuZXJzID4geGxhcmdlLTExLCAjY291cnNlcyA+IHhsYXJnZS0xMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0xMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4bGFyZ2UtMTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHhsYXJnZS0xMSwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0xMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geGxhcmdlLTExLCAucHJpY2UtbGlzdHMgPiB4bGFyZ2UtMTEsIC5ncmlkLXggPiB4bGFyZ2UtMTIsICNhYm91dCA+IHhsYXJnZS0xMiwgLmJsb2NrIC5jb250ZW50ID4geGxhcmdlLTEyLCAjc2VydmljZXMgPiB4bGFyZ2UtMTIsICN0cmVuZXJzID4geGxhcmdlLTEyLCAjY291cnNlcyA+IHhsYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHhsYXJnZS0xMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4bGFyZ2UtMTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHhsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IHhsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geGxhcmdlLTEyLCAucHJpY2UtbGlzdHMgPiB4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiB4eGxhcmdlLXNocmluaywgI2Fib3V0ID4geHhsYXJnZS1zaHJpbmssIC5ibG9jayAuY29udGVudCA+IHh4bGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiB4eGxhcmdlLXNocmluaywgI3RyZW5lcnMgPiB4eGxhcmdlLXNocmluaywgI2NvdXJzZXMgPiB4eGxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2Utc2hyaW5rLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IHh4bGFyZ2Utc2hyaW5rLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiB4eGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2Utc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiB4eGxhcmdlLXNocmluaywgLnByaWNlLWxpc3RzID4geHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiB4eGxhcmdlLWZ1bGwsICNhYm91dCA+IHh4bGFyZ2UtZnVsbCwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS1mdWxsLCAjc2VydmljZXMgPiB4eGxhcmdlLWZ1bGwsICN0cmVuZXJzID4geHhsYXJnZS1mdWxsLCAjY291cnNlcyA+IHh4bGFyZ2UtZnVsbCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtZnVsbCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLWZ1bGwsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtZnVsbCwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtZnVsbCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS1mdWxsLCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiB4eGxhcmdlLTEsICNhYm91dCA+IHh4bGFyZ2UtMSwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS0xLCAjc2VydmljZXMgPiB4eGxhcmdlLTEsICN0cmVuZXJzID4geHhsYXJnZS0xLCAjY291cnNlcyA+IHh4bGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS0xLCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTEsIC5ncmlkLXggPiB4eGxhcmdlLTIsICNhYm91dCA+IHh4bGFyZ2UtMiwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS0yLCAjc2VydmljZXMgPiB4eGxhcmdlLTIsICN0cmVuZXJzID4geHhsYXJnZS0yLCAjY291cnNlcyA+IHh4bGFyZ2UtMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtMiwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS0yLCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTIsIC5ncmlkLXggPiB4eGxhcmdlLTMsICNhYm91dCA+IHh4bGFyZ2UtMywgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS0zLCAjc2VydmljZXMgPiB4eGxhcmdlLTMsICN0cmVuZXJzID4geHhsYXJnZS0zLCAjY291cnNlcyA+IHh4bGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTMsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS0zLCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTMsIC5ncmlkLXggPiB4eGxhcmdlLTQsICNhYm91dCA+IHh4bGFyZ2UtNCwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS00LCAjc2VydmljZXMgPiB4eGxhcmdlLTQsICN0cmVuZXJzID4geHhsYXJnZS00LCAjY291cnNlcyA+IHh4bGFyZ2UtNCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtNCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTQsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtNCwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtNCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS00LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTQsIC5ncmlkLXggPiB4eGxhcmdlLTUsICNhYm91dCA+IHh4bGFyZ2UtNSwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS01LCAjc2VydmljZXMgPiB4eGxhcmdlLTUsICN0cmVuZXJzID4geHhsYXJnZS01LCAjY291cnNlcyA+IHh4bGFyZ2UtNSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtNSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTUsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtNSwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtNSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS01LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTUsIC5ncmlkLXggPiB4eGxhcmdlLTYsICNhYm91dCA+IHh4bGFyZ2UtNiwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS02LCAjc2VydmljZXMgPiB4eGxhcmdlLTYsICN0cmVuZXJzID4geHhsYXJnZS02LCAjY291cnNlcyA+IHh4bGFyZ2UtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtNiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTYsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS02LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTYsIC5ncmlkLXggPiB4eGxhcmdlLTcsICNhYm91dCA+IHh4bGFyZ2UtNywgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS03LCAjc2VydmljZXMgPiB4eGxhcmdlLTcsICN0cmVuZXJzID4geHhsYXJnZS03LCAjY291cnNlcyA+IHh4bGFyZ2UtNywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtNywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTcsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtNywgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtNywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS03LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTcsIC5ncmlkLXggPiB4eGxhcmdlLTgsICNhYm91dCA+IHh4bGFyZ2UtOCwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS04LCAjc2VydmljZXMgPiB4eGxhcmdlLTgsICN0cmVuZXJzID4geHhsYXJnZS04LCAjY291cnNlcyA+IHh4bGFyZ2UtOCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtOCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTgsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtOCwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtOCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS04LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTgsIC5ncmlkLXggPiB4eGxhcmdlLTksICNhYm91dCA+IHh4bGFyZ2UtOSwgLmJsb2NrIC5jb250ZW50ID4geHhsYXJnZS05LCAjc2VydmljZXMgPiB4eGxhcmdlLTksICN0cmVuZXJzID4geHhsYXJnZS05LCAjY291cnNlcyA+IHh4bGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtOSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiB4eGxhcmdlLTksICN0b3VyIC5tZWRpYSAuY29udGVudCA+IHh4bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4geHhsYXJnZS05LCAucHJpY2UtbGlzdHMgPiB4eGxhcmdlLTksIC5ncmlkLXggPiB4eGxhcmdlLTEwLCAjYWJvdXQgPiB4eGxhcmdlLTEwLCAuYmxvY2sgLmNvbnRlbnQgPiB4eGxhcmdlLTEwLCAjc2VydmljZXMgPiB4eGxhcmdlLTEwLCAjdHJlbmVycyA+IHh4bGFyZ2UtMTAsICNjb3Vyc2VzID4geHhsYXJnZS0xMCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMTAsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4geHhsYXJnZS0xMCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4geHhsYXJnZS0xMCwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMTAsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHh4bGFyZ2UtMTAsIC5wcmljZS1saXN0cyA+IHh4bGFyZ2UtMTAsIC5ncmlkLXggPiB4eGxhcmdlLTExLCAjYWJvdXQgPiB4eGxhcmdlLTExLCAuYmxvY2sgLmNvbnRlbnQgPiB4eGxhcmdlLTExLCAjc2VydmljZXMgPiB4eGxhcmdlLTExLCAjdHJlbmVycyA+IHh4bGFyZ2UtMTEsICNjb3Vyc2VzID4geHhsYXJnZS0xMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4geHhsYXJnZS0xMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4geHhsYXJnZS0xMSwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHh4bGFyZ2UtMTEsIC5wcmljZS1saXN0cyA+IHh4bGFyZ2UtMTEsIC5ncmlkLXggPiB4eGxhcmdlLTEyLCAjYWJvdXQgPiB4eGxhcmdlLTEyLCAuYmxvY2sgLmNvbnRlbnQgPiB4eGxhcmdlLTEyLCAjc2VydmljZXMgPiB4eGxhcmdlLTEyLCAjdHJlbmVycyA+IHh4bGFyZ2UtMTIsICNjb3Vyc2VzID4geHhsYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IHh4bGFyZ2UtMTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4geHhsYXJnZS0xMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4geHhsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IHh4bGFyZ2UtMTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IHh4bGFyZ2UtMTIsIC5wcmljZS1saXN0cyA+IHh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsICNhYm91dCA+IC5zbWFsbC0xLCAuYmxvY2sgLmNvbnRlbnQgPiAuc21hbGwtMSwgI3NlcnZpY2VzID4gLnNtYWxsLTEsICN0cmVuZXJzID4gLnNtYWxsLTEsICNjb3Vyc2VzID4gLnNtYWxsLTEsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuc21hbGwtMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuc21hbGwtMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnNtYWxsLTEsIC5yZXZlYWwgLmNvbnRlbnQgPiAuc21hbGwtMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnNtYWxsLTEsIC5wcmljZS1saXN0cyA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiwgI2Fib3V0ID4gLnNtYWxsLTIsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC0yLCAjc2VydmljZXMgPiAuc21hbGwtMiwgI3RyZW5lcnMgPiAuc21hbGwtMiwgI2NvdXJzZXMgPiAuc21hbGwtMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC0yLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC0yLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtMiwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC0yLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtMiwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMywgI2Fib3V0ID4gLnNtYWxsLTMsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC0zLCAjc2VydmljZXMgPiAuc21hbGwtMywgI3RyZW5lcnMgPiAuc21hbGwtMywgI2NvdXJzZXMgPiAuc21hbGwtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC0zLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC0zLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtMywgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC0zLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtMywgLnByaWNlLWxpc3RzID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCwgI2Fib3V0ID4gLnNtYWxsLTQsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC00LCAjc2VydmljZXMgPiAuc21hbGwtNCwgI3RyZW5lcnMgPiAuc21hbGwtNCwgI2NvdXJzZXMgPiAuc21hbGwtNCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC00LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC00LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtNCwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC00LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtNCwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSwgI2Fib3V0ID4gLnNtYWxsLTUsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC01LCAjc2VydmljZXMgPiAuc21hbGwtNSwgI3RyZW5lcnMgPiAuc21hbGwtNSwgI2NvdXJzZXMgPiAuc21hbGwtNSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC01LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtNSwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC01LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtNSwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiwgI2Fib3V0ID4gLnNtYWxsLTYsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC02LCAjc2VydmljZXMgPiAuc21hbGwtNiwgI3RyZW5lcnMgPiAuc21hbGwtNiwgI2NvdXJzZXMgPiAuc21hbGwtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC02LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC02LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtNiwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC02LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtNiwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNywgI2Fib3V0ID4gLnNtYWxsLTcsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC03LCAjc2VydmljZXMgPiAuc21hbGwtNywgI3RyZW5lcnMgPiAuc21hbGwtNywgI2NvdXJzZXMgPiAuc21hbGwtNywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC03LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC03LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtNywgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC03LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtNywgLnByaWNlLWxpc3RzID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCwgI2Fib3V0ID4gLnNtYWxsLTgsIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC04LCAjc2VydmljZXMgPiAuc21hbGwtOCwgI3RyZW5lcnMgPiAuc21hbGwtOCwgI2NvdXJzZXMgPiAuc21hbGwtOCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC04LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC04LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtOCwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC04LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtOCwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSwgI2Fib3V0ID4gLnNtYWxsLTksIC5ibG9jayAuY29udGVudCA+IC5zbWFsbC05LCAjc2VydmljZXMgPiAuc21hbGwtOSwgI3RyZW5lcnMgPiAuc21hbGwtOSwgI2NvdXJzZXMgPiAuc21hbGwtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC05LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5zbWFsbC05LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc21hbGwtOSwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC05LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc21hbGwtOSwgLnByaWNlLWxpc3RzID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAsICNhYm91dCA+IC5zbWFsbC0xMCwgLmJsb2NrIC5jb250ZW50ID4gLnNtYWxsLTEwLCAjc2VydmljZXMgPiAuc21hbGwtMTAsICN0cmVuZXJzID4gLnNtYWxsLTEwLCAjY291cnNlcyA+IC5zbWFsbC0xMCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC0xMCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuc21hbGwtMTAsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5zbWFsbC0xMCwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC0xMCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnNtYWxsLTEwLCAucHJpY2UtbGlzdHMgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEsICNhYm91dCA+IC5zbWFsbC0xMSwgLmJsb2NrIC5jb250ZW50ID4gLnNtYWxsLTExLCAjc2VydmljZXMgPiAuc21hbGwtMTEsICN0cmVuZXJzID4gLnNtYWxsLTExLCAjY291cnNlcyA+IC5zbWFsbC0xMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC0xMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuc21hbGwtMTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5zbWFsbC0xMSwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC0xMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnNtYWxsLTExLCAucHJpY2UtbGlzdHMgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIsICNhYm91dCA+IC5zbWFsbC0xMiwgLmJsb2NrIC5jb250ZW50ID4gLnNtYWxsLTEyLCAjc2VydmljZXMgPiAuc21hbGwtMTIsICN0cmVuZXJzID4gLnNtYWxsLTEyLCAjY291cnNlcyA+IC5zbWFsbC0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zbWFsbC0xMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuc21hbGwtMTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5zbWFsbC0xMiwgLnJldmVhbCAuY29udGVudCA+IC5zbWFsbC0xMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnNtYWxsLTEyLCAucHJpY2UtbGlzdHMgPiAuc21hbGwtMTIsICNhYm91dCAuZ3JpZC14ID4gLmdhbGxlcnksICNhYm91dCA+IC5nYWxsZXJ5LCAuYmxvY2sgI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAuYmxvY2sgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2Fib3V0ICNzZXJ2aWNlcyA+IC5nYWxsZXJ5LCAjYWJvdXQgI3RyZW5lcnMgPiAuZ2FsbGVyeSwgI2Fib3V0ICNjb3Vyc2VzID4gLmdhbGxlcnksICNjb3Vyc2VzIC50aXRsZS1ib3ggI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmdhbGxlcnksICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNhYm91dCAuY29udGVudCA+IC5nYWxsZXJ5LCAjYWJvdXQgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI3RvdXIgLm1lZGlhICNhYm91dCAuY29udGVudCA+IC5nYWxsZXJ5LCAjYWJvdXQgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmdhbGxlcnksIC5yZXZlYWwgI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAucmV2ZWFsIC5jb250ZW50ID4gLmdhbGxlcnksIC5yZXZlYWwgI2Fib3V0IC5jb250ZW50LXdyYXBwZXIgPiAuZ2FsbGVyeSwgI2Fib3V0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5nYWxsZXJ5LCAjYWJvdXQgLnByaWNlLWxpc3RzID4gLmdhbGxlcnksICNzZXJ2aWNlcyAuZ3JpZC14ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNhYm91dCA+IC50aXRsZS1ib3gsIC5ibG9jayAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmJsb2NrIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS1ib3gsICN0b3VyIC5tZWRpYSAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC14ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2Fib3V0ID4gLnNlcnZpY2UtYm94LCAuYmxvY2sgI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmJsb2NrIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzID4gLnNlcnZpY2UtYm94LCAjY291cnNlcyAudGl0bGUtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjdG91ciAubWVkaWEgI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucHJpY2UtbGlzdHMgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC5ncmlkLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjYWJvdXQgPiAudGl0bGUtYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgPiAudGl0bGUtYm94LCAjdHJlbmVycyA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuY291cnNlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC14ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNhYm91dCA+IC50cmVuZXItYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLmJsb2NrIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyA+IC50cmVuZXItYm94LCAjdHJlbmVycyA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyA+IC50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50cmVuZXItYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQteCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNhYm91dCA+IC50aXRsZS1ib3gsIC5ibG9jayAjY291cnNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ibG9jayAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdG91ciAubWVkaWEgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjY291cnNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI2Fib3V0ID4gLmNvdXJzZS1ib3gsIC5ibG9jayAjY291cnNlcyAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuYmxvY2sgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI3RvdXIgLm1lZGlhICNjb3Vyc2VzIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgLnJldmVhbCAjY291cnNlcyAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAucHJpY2UtbGlzdHMgPiAuY291cnNlLWJveCwgLmdyaWQteCA+IC5jZWxsLnRpdGxlLCAjYWJvdXQgPiAuY2VsbC50aXRsZSwgLmJsb2NrIC5jb250ZW50ID4gLmNlbGwudGl0bGUsICNzZXJ2aWNlcyA+IC5jZWxsLnRpdGxlLCAjdHJlbmVycyA+IC5jZWxsLnRpdGxlLCAjY291cnNlcyA+IC5jZWxsLnRpdGxlLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmNlbGwudGl0bGUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmNlbGwudGl0bGUsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5jZWxsLnRpdGxlLCAucmV2ZWFsIC5jb250ZW50ID4gLmNlbGwudGl0bGUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5jZWxsLnRpdGxlLCAucHJpY2UtbGlzdHMgPiAuY2VsbC50aXRsZSwgI3NlcnZpY2VzIC5ncmlkLXggPiAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2Fib3V0ID4gLnRpdGxlLnRpdGxlLWJveCwgLmJsb2NrICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgPiAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgPiAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgPiAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI3RvdXIgLm1lZGlhICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnByaWNlLWxpc3RzID4gLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXggPiAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjYWJvdXQgPiAudGl0bGUuc2VydmljZS1ib3gsIC5ibG9jayAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyA+IC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzID4gLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgPiAudGl0bGUuc2VydmljZS1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUuc2VydmljZS1ib3gsICN0b3VyIC5tZWRpYSAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50ID4gLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS5zZXJ2aWNlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS5zZXJ2aWNlLWJveCwgLmdyaWQteCA+IC50aXRsZS5xdW90ZS1ibG9jaywgI2Fib3V0ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyA+IC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgPiAudGl0bGUucXVvdGUtYmxvY2ssICNjb3Vyc2VzID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS5xdW90ZS1ibG9jaywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5wcmljZS1saXN0cyA+IC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQteCA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNhYm91dCA+IC50aXRsZS50aXRsZS1ib3gsIC5ibG9jayAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5ibG9jayAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzID4gLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgPiAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAjdG91ciAubWVkaWEgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLXggPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2Fib3V0ID4gLnRpdGxlLnRyZW5lci1ib3gsIC5ibG9jayAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzID4gLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzID4gLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzID4gLnRpdGxlLnRyZW5lci1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAuY291cnNlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS50cmVuZXItYm94LCAjdG91ciAubWVkaWEgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLnRyZW5lci1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC14ID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI2Fib3V0ID4gLnRpdGxlLnRpdGxlLWJveCwgLmJsb2NrICNjb3Vyc2VzIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmJsb2NrIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgPiAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyA+IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICN0b3VyIC5tZWRpYSAjY291cnNlcyAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAucmV2ZWFsIC5jb250ZW50ID4gLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAjY291cnNlcyAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnByaWNlLWxpc3RzID4gLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQteCA+IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjYWJvdXQgPiAudGl0bGUuY291cnNlLWJveCwgLmJsb2NrICNjb3Vyc2VzIC5jb250ZW50ID4gLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5ibG9jayAuY29udGVudCA+IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS5jb3Vyc2UtYm94LCAjdG91ciAubWVkaWEgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLmNvdXJzZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLXggPiAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI2Fib3V0ID4gLnRpdGxlLmltYWdlLCAuYmxvY2sgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS5pbWFnZSwgLnJldmVhbCAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzID4gLnRpdGxlLmltYWdlLCAucmV2ZWFsICN0cmVuZXJzID4gLnRpdGxlLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzID4gLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS5pbWFnZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLnJldmVhbCAuY29udGVudCA+IC50aXRsZS5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS5pbWFnZSwgI3RvdXIgLm1lZGlhIC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5jb250ZW50ID4gLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnByaWNlLWxpc3RzID4gLnRpdGxlLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLXggPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjYWJvdXQgPiAudGl0bGUuYXJ0aWNsZSwgLmJsb2NrICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyA+IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzID4gLnRpdGxlLmFydGljbGUsICNjb3Vyc2VzIC50aXRsZS1ib3ggI2FydGljbGUtbGlzdCAuY29udGVudCA+IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUuYXJ0aWNsZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI2FydGljbGUtbGlzdCAuY29udGVudCA+IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnRpdGxlLmFydGljbGUsICN0b3VyIC5tZWRpYSAjYXJ0aWNsZS1saXN0IC5jb250ZW50ID4gLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAuY29udGVudCA+IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUuYXJ0aWNsZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucHJpY2UtbGlzdHMgPiAudGl0bGUuYXJ0aWNsZSwgLnJldmVhbCAuZ3JpZC14ID4gLmltYWdlLCAucmV2ZWFsICNhYm91dCA+IC5pbWFnZSwgLmJsb2NrIC5yZXZlYWwgLmNvbnRlbnQgPiAuaW1hZ2UsIC5yZXZlYWwgLmJsb2NrIC5jb250ZW50ID4gLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyA+IC5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyA+IC5pbWFnZSwgLnJldmVhbCAjY291cnNlcyA+IC5pbWFnZSwgI2NvdXJzZXMgLnRpdGxlLWJveCAucmV2ZWFsIC5jb250ZW50ID4gLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuaW1hZ2UsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5yZXZlYWwgLmNvbnRlbnQgPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuaW1hZ2UsICN0b3VyIC5tZWRpYSAucmV2ZWFsIC5jb250ZW50ID4gLmltYWdlLCAucmV2ZWFsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5pbWFnZSwgLnJldmVhbCAuY29udGVudCA+IC5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmltYWdlLCAucmV2ZWFsIC5wcmljZS1saXN0cyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC14ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2Fib3V0ID4gLmFydGljbGUsIC5ibG9jayAjYXJ0aWNsZS1saXN0IC5jb250ZW50ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmJsb2NrIC5jb250ZW50ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyA+IC5hcnRpY2xlLCAjY291cnNlcyAudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmFydGljbGUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5hcnRpY2xlLCAjdG91ciAubWVkaWEgI2FydGljbGUtbGlzdCAuY29udGVudCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50ID4gLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnByaWNlLWxpc3RzID4gLmFydGljbGUge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvLCAjYWJvdXQgPiAubWVkaXVtLWF1dG8sIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tYXV0bywgI3NlcnZpY2VzID4gLm1lZGl1bS1hdXRvLCAjdHJlbmVycyA+IC5tZWRpdW0tYXV0bywgI2NvdXJzZXMgPiAubWVkaXVtLWF1dG8sICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLWF1dG8sICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLm1lZGl1bS1hdXRvLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQgPiAubWVkaXVtLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5tZWRpdW0tYXV0bywgLnByaWNlLWxpc3RzID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgI2Fib3V0ID4gLm1lZGl1bS1zaHJpbmssIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tc2hyaW5rLCAjc2VydmljZXMgPiAubWVkaXVtLXNocmluaywgI3RyZW5lcnMgPiAubWVkaXVtLXNocmluaywgI2NvdXJzZXMgPiAubWVkaXVtLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tc2hyaW5rLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5tZWRpdW0tc2hyaW5rLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubWVkaXVtLXNocmluaywgLnByaWNlLWxpc3RzID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEsICNhYm91dCA+IC5tZWRpdW0tMSwgLmJsb2NrIC5jb250ZW50ID4gLm1lZGl1bS0xLCAjc2VydmljZXMgPiAubWVkaXVtLTEsICN0cmVuZXJzID4gLm1lZGl1bS0xLCAjY291cnNlcyA+IC5tZWRpdW0tMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5tZWRpdW0tMSwgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLm1lZGl1bS0xLCAucHJpY2UtbGlzdHMgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yLCAjYWJvdXQgPiAubWVkaXVtLTIsIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tMiwgI3NlcnZpY2VzID4gLm1lZGl1bS0yLCAjdHJlbmVycyA+IC5tZWRpdW0tMiwgI2NvdXJzZXMgPiAubWVkaXVtLTIsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLm1lZGl1bS0yLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLTIsIC5yZXZlYWwgLmNvbnRlbnQgPiAubWVkaXVtLTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5tZWRpdW0tMiwgLnByaWNlLWxpc3RzID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMsICNhYm91dCA+IC5tZWRpdW0tMywgLmJsb2NrIC5jb250ZW50ID4gLm1lZGl1bS0zLCAjc2VydmljZXMgPiAubWVkaXVtLTMsICN0cmVuZXJzID4gLm1lZGl1bS0zLCAjY291cnNlcyA+IC5tZWRpdW0tMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tMywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTMsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5tZWRpdW0tMywgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tMywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLm1lZGl1bS0zLCAucHJpY2UtbGlzdHMgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCwgI2Fib3V0ID4gLm1lZGl1bS00LCAuYmxvY2sgLmNvbnRlbnQgPiAubWVkaXVtLTQsICNzZXJ2aWNlcyA+IC5tZWRpdW0tNCwgI3RyZW5lcnMgPiAubWVkaXVtLTQsICNjb3Vyc2VzID4gLm1lZGl1bS00LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLm1lZGl1bS00LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5tZWRpdW0tNCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLm1lZGl1bS00LCAucmV2ZWFsIC5jb250ZW50ID4gLm1lZGl1bS00LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubWVkaXVtLTQsIC5wcmljZS1saXN0cyA+IC5tZWRpdW0tNCwgI3NlcnZpY2VzIC5ncmlkLXggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2Fib3V0ID4gLnRpdGxlLWJveCwgLmJsb2NrICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RvdXIgLm1lZGlhICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnByaWNlLWxpc3RzID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjYWJvdXQgPiAuc2VydmljZS1ib3gsIC5ibG9jayAjc2VydmljZXMgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuYmxvY2sgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICN0b3VyIC5tZWRpYSAjc2VydmljZXMgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQtd3JhcHBlciA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC5zZXJ2aWNlLWJveCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01LCAjYWJvdXQgPiAubWVkaXVtLTUsIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tNSwgI3NlcnZpY2VzID4gLm1lZGl1bS01LCAjdHJlbmVycyA+IC5tZWRpdW0tNSwgI2NvdXJzZXMgPiAubWVkaXVtLTUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLm1lZGl1bS01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLTUsIC5yZXZlYWwgLmNvbnRlbnQgPiAubWVkaXVtLTUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5tZWRpdW0tNSwgLnByaWNlLWxpc3RzID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYsICNhYm91dCA+IC5tZWRpdW0tNiwgLmJsb2NrIC5jb250ZW50ID4gLm1lZGl1bS02LCAjc2VydmljZXMgPiAubWVkaXVtLTYsICN0cmVuZXJzID4gLm1lZGl1bS02LCAjY291cnNlcyA+IC5tZWRpdW0tNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tNiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTYsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5tZWRpdW0tNiwgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tNiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLm1lZGl1bS02LCAucHJpY2UtbGlzdHMgPiAubWVkaXVtLTYsICN0cmVuZXJzIC5ncmlkLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjYWJvdXQgPiAudGl0bGUtYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgPiAudGl0bGUtYm94LCAjdHJlbmVycyA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC14ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNhYm91dCA+IC50cmVuZXItYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLmJsb2NrIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyA+IC50cmVuZXItYm94LCAjdHJlbmVycyA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyA+IC50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50cmVuZXItYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQteCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNhYm91dCA+IC50aXRsZS1ib3gsIC5ibG9jayAjY291cnNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ibG9jayAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdG91ciAubWVkaWEgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjY291cnNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI2Fib3V0ID4gLmNvdXJzZS1ib3gsIC5ibG9jayAjY291cnNlcyAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuYmxvY2sgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI3RvdXIgLm1lZGlhICNjb3Vyc2VzIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgLnJldmVhbCAjY291cnNlcyAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAucHJpY2UtbGlzdHMgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAuZ3JpZC14ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2Fib3V0ID4gLmFydGljbGUsIC5ibG9jayAjYXJ0aWNsZS1saXN0IC5jb250ZW50ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmJsb2NrIC5jb250ZW50ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyA+IC5hcnRpY2xlLCAjY291cnNlcyAudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmFydGljbGUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5hcnRpY2xlLCAjdG91ciAubWVkaWEgI2FydGljbGUtbGlzdCAuY29udGVudCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50ID4gLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnByaWNlLWxpc3RzID4gLmFydGljbGUge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNywgI2Fib3V0ID4gLm1lZGl1bS03LCAuYmxvY2sgLmNvbnRlbnQgPiAubWVkaXVtLTcsICNzZXJ2aWNlcyA+IC5tZWRpdW0tNywgI3RyZW5lcnMgPiAubWVkaXVtLTcsICNjb3Vyc2VzID4gLm1lZGl1bS03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLm1lZGl1bS03LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5tZWRpdW0tNywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLm1lZGl1bS03LCAucmV2ZWFsIC5jb250ZW50ID4gLm1lZGl1bS03LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubWVkaXVtLTcsIC5wcmljZS1saXN0cyA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04LCAjYWJvdXQgPiAubWVkaXVtLTgsIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tOCwgI3NlcnZpY2VzID4gLm1lZGl1bS04LCAjdHJlbmVycyA+IC5tZWRpdW0tOCwgI2NvdXJzZXMgPiAubWVkaXVtLTgsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTgsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLm1lZGl1bS04LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLTgsIC5yZXZlYWwgLmNvbnRlbnQgPiAubWVkaXVtLTgsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5tZWRpdW0tOCwgLnByaWNlLWxpc3RzID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTksICNhYm91dCA+IC5tZWRpdW0tOSwgLmJsb2NrIC5jb250ZW50ID4gLm1lZGl1bS05LCAjc2VydmljZXMgPiAubWVkaXVtLTksICN0cmVuZXJzID4gLm1lZGl1bS05LCAjY291cnNlcyA+IC5tZWRpdW0tOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tOSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTksICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5tZWRpdW0tOSwgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tOSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLm1lZGl1bS05LCAucHJpY2UtbGlzdHMgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAsICNhYm91dCA+IC5tZWRpdW0tMTAsIC5ibG9jayAuY29udGVudCA+IC5tZWRpdW0tMTAsICNzZXJ2aWNlcyA+IC5tZWRpdW0tMTAsICN0cmVuZXJzID4gLm1lZGl1bS0xMCwgI2NvdXJzZXMgPiAubWVkaXVtLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLm1lZGl1bS0xMCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTEwLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubWVkaXVtLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gLm1lZGl1bS0xMCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLm1lZGl1bS0xMCwgLnByaWNlLWxpc3RzID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgI2Fib3V0ID4gLm1lZGl1bS0xMSwgLmJsb2NrIC5jb250ZW50ID4gLm1lZGl1bS0xMSwgI3NlcnZpY2VzID4gLm1lZGl1bS0xMSwgI3RyZW5lcnMgPiAubWVkaXVtLTExLCAjY291cnNlcyA+IC5tZWRpdW0tMTEsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubWVkaXVtLTExLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5tZWRpdW0tMTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5tZWRpdW0tMTEsIC5yZXZlYWwgLmNvbnRlbnQgPiAubWVkaXVtLTExLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubWVkaXVtLTExLCAucHJpY2UtbGlzdHMgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyLCAjYWJvdXQgPiAubWVkaXVtLTEyLCAuYmxvY2sgLmNvbnRlbnQgPiAubWVkaXVtLTEyLCAjc2VydmljZXMgPiAubWVkaXVtLTEyLCAjdHJlbmVycyA+IC5tZWRpdW0tMTIsICNjb3Vyc2VzID4gLm1lZGl1bS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5tZWRpdW0tMTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLm1lZGl1bS0xMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLm1lZGl1bS0xMiwgLnJldmVhbCAuY29udGVudCA+IC5tZWRpdW0tMTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5tZWRpdW0tMTIsIC5wcmljZS1saXN0cyA+IC5tZWRpdW0tMTIsICNhYm91dCAuZ3JpZC14ID4gLmdhbGxlcnksICNhYm91dCA+IC5nYWxsZXJ5LCAuYmxvY2sgI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAuYmxvY2sgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2Fib3V0ICNzZXJ2aWNlcyA+IC5nYWxsZXJ5LCAjYWJvdXQgI3RyZW5lcnMgPiAuZ2FsbGVyeSwgI2Fib3V0ICNjb3Vyc2VzID4gLmdhbGxlcnksICNjb3Vyc2VzIC50aXRsZS1ib3ggI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmdhbGxlcnksICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNhYm91dCAuY29udGVudCA+IC5nYWxsZXJ5LCAjYWJvdXQgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI3RvdXIgLm1lZGlhICNhYm91dCAuY29udGVudCA+IC5nYWxsZXJ5LCAjYWJvdXQgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmdhbGxlcnksIC5yZXZlYWwgI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAucmV2ZWFsIC5jb250ZW50ID4gLmdhbGxlcnksIC5yZXZlYWwgI2Fib3V0IC5jb250ZW50LXdyYXBwZXIgPiAuZ2FsbGVyeSwgI2Fib3V0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5nYWxsZXJ5LCAjYWJvdXQgLnByaWNlLWxpc3RzID4gLmdhbGxlcnkge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvLCAjYWJvdXQgPiAubGFyZ2UtYXV0bywgLmJsb2NrIC5jb250ZW50ID4gLmxhcmdlLWF1dG8sICNzZXJ2aWNlcyA+IC5sYXJnZS1hdXRvLCAjdHJlbmVycyA+IC5sYXJnZS1hdXRvLCAjY291cnNlcyA+IC5sYXJnZS1hdXRvLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmxhcmdlLWF1dG8sICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmxhcmdlLWF1dG8sICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5sYXJnZS1hdXRvLCAucmV2ZWFsIC5jb250ZW50ID4gLmxhcmdlLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5sYXJnZS1hdXRvLCAucHJpY2UtbGlzdHMgPiAubGFyZ2UtYXV0bywgLnJldmVhbCAuZ3JpZC14ID4gLmltYWdlLCAucmV2ZWFsICNhYm91dCA+IC5pbWFnZSwgLnJldmVhbCAuYmxvY2sgLmNvbnRlbnQgPiAuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzID4gLmltYWdlLCAucmV2ZWFsICN0cmVuZXJzID4gLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzID4gLmltYWdlLCAjY291cnNlcyAudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQgPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5pbWFnZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLnJldmVhbCAuY29udGVudCA+IC5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5pbWFnZSwgI3RvdXIgLm1lZGlhIC5yZXZlYWwgLmNvbnRlbnQgPiAuaW1hZ2UsIC5yZXZlYWwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmltYWdlLCAucmV2ZWFsIC5jb250ZW50ID4gLmltYWdlLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuaW1hZ2UsIC5yZXZlYWwgLnByaWNlLWxpc3RzID4gLmltYWdlIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAjYWJvdXQgPiAubGFyZ2Utc2hyaW5rLCAuYmxvY2sgLmNvbnRlbnQgPiAubGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiAubGFyZ2Utc2hyaW5rLCAjdHJlbmVycyA+IC5sYXJnZS1zaHJpbmssICNjb3Vyc2VzID4gLmxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS1zaHJpbmssICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmxhcmdlLXNocmluaywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS1zaHJpbmssIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5sYXJnZS1zaHJpbmssIC5wcmljZS1saXN0cyA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSwgI2Fib3V0ID4gLmxhcmdlLTEsIC5ibG9jayAuY29udGVudCA+IC5sYXJnZS0xLCAjc2VydmljZXMgPiAubGFyZ2UtMSwgI3RyZW5lcnMgPiAubGFyZ2UtMSwgI2NvdXJzZXMgPiAubGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS0xLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5sYXJnZS0xLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS0xLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubGFyZ2UtMSwgLnByaWNlLWxpc3RzID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIsICNhYm91dCA+IC5sYXJnZS0yLCAuYmxvY2sgLmNvbnRlbnQgPiAubGFyZ2UtMiwgI3NlcnZpY2VzID4gLmxhcmdlLTIsICN0cmVuZXJzID4gLmxhcmdlLTIsICNjb3Vyc2VzID4gLmxhcmdlLTIsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmxhcmdlLTIsIC5yZXZlYWwgLmNvbnRlbnQgPiAubGFyZ2UtMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmxhcmdlLTIsIC5wcmljZS1saXN0cyA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMywgI2Fib3V0ID4gLmxhcmdlLTMsIC5ibG9jayAuY29udGVudCA+IC5sYXJnZS0zLCAjc2VydmljZXMgPiAubGFyZ2UtMywgI3RyZW5lcnMgPiAubGFyZ2UtMywgI2NvdXJzZXMgPiAubGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS0zLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5sYXJnZS0zLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS0zLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubGFyZ2UtMywgLnByaWNlLWxpc3RzID4gLmxhcmdlLTMsICNzZXJ2aWNlcyAuZ3JpZC14ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNhYm91dCA+IC50aXRsZS1ib3gsIC5ibG9jayAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmJsb2NrIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC50aXRsZS1ib3gsICN0b3VyIC5tZWRpYSAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC14ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2Fib3V0ID4gLnNlcnZpY2UtYm94LCAuYmxvY2sgI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmJsb2NrIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzID4gLnNlcnZpY2UtYm94LCAjY291cnNlcyAudGl0bGUtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzIC5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjdG91ciAubWVkaWEgI3NlcnZpY2VzIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnNlcnZpY2UtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucHJpY2UtbGlzdHMgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC5ncmlkLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjYWJvdXQgPiAudGl0bGUtYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuYmxvY2sgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgPiAudGl0bGUtYm94LCAjdHJlbmVycyA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuY291cnNlLWJveCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC14ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNhYm91dCA+IC50cmVuZXItYm94LCAuYmxvY2sgI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLmJsb2NrIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyA+IC50cmVuZXItYm94LCAjdHJlbmVycyA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyA+IC50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUtYm94ICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI3RyZW5lcnMgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgI3RvdXIgLm1lZGlhICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQgPiAudHJlbmVyLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50cmVuZXItYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQteCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjYWJvdXQgPiAuY291cnNlLWJveCwgLmJsb2NrICNjb3Vyc2VzIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5ibG9jayAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAjdG91ciAubWVkaWEgI2NvdXJzZXMgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC5ncmlkLXggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjYWJvdXQgPiAuYXJ0aWNsZSwgLmJsb2NrICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuYmxvY2sgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzID4gLmFydGljbGUsICNjb3Vyc2VzIC50aXRsZS1ib3ggI2FydGljbGUtbGlzdCAuY29udGVudCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuYXJ0aWNsZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI2FydGljbGUtbGlzdCAuY29udGVudCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmFydGljbGUsICN0b3VyIC5tZWRpYSAjYXJ0aWNsZS1saXN0IC5jb250ZW50ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAuY29udGVudCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQgPiAuYXJ0aWNsZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC5jb250ZW50LXdyYXBwZXIgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucHJpY2UtbGlzdHMgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQsICNhYm91dCA+IC5sYXJnZS00LCAuYmxvY2sgLmNvbnRlbnQgPiAubGFyZ2UtNCwgI3NlcnZpY2VzID4gLmxhcmdlLTQsICN0cmVuZXJzID4gLmxhcmdlLTQsICNjb3Vyc2VzID4gLmxhcmdlLTQsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtNCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtNCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmxhcmdlLTQsIC5yZXZlYWwgLmNvbnRlbnQgPiAubGFyZ2UtNCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmxhcmdlLTQsIC5wcmljZS1saXN0cyA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSwgI2Fib3V0ID4gLmxhcmdlLTUsIC5ibG9jayAuY29udGVudCA+IC5sYXJnZS01LCAjc2VydmljZXMgPiAubGFyZ2UtNSwgI3RyZW5lcnMgPiAubGFyZ2UtNSwgI2NvdXJzZXMgPiAubGFyZ2UtNSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS01LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5sYXJnZS01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubGFyZ2UtNSwgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS01LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubGFyZ2UtNSwgLnByaWNlLWxpc3RzID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02LCAjYWJvdXQgPiAubGFyZ2UtNiwgLmJsb2NrIC5jb250ZW50ID4gLmxhcmdlLTYsICNzZXJ2aWNlcyA+IC5sYXJnZS02LCAjdHJlbmVycyA+IC5sYXJnZS02LCAjY291cnNlcyA+IC5sYXJnZS02LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmxhcmdlLTYsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmxhcmdlLTYsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5sYXJnZS02LCAucmV2ZWFsIC5jb250ZW50ID4gLmxhcmdlLTYsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5sYXJnZS02LCAucHJpY2UtbGlzdHMgPiAubGFyZ2UtNiwgI2Fib3V0IC5ncmlkLXggPiAuZ2FsbGVyeSwgI2Fib3V0ID4gLmdhbGxlcnksIC5ibG9jayAjYWJvdXQgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2Fib3V0IC5ibG9jayAuY29udGVudCA+IC5nYWxsZXJ5LCAjYWJvdXQgI3NlcnZpY2VzID4gLmdhbGxlcnksICNhYm91dCAjdHJlbmVycyA+IC5nYWxsZXJ5LCAjYWJvdXQgI2NvdXJzZXMgPiAuZ2FsbGVyeSwgI2NvdXJzZXMgLnRpdGxlLWJveCAjYWJvdXQgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2Fib3V0ICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5nYWxsZXJ5LCAjdG91ciAubWVkaWEgI2Fib3V0IC5jb250ZW50ID4gLmdhbGxlcnksICNhYm91dCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgLnJldmVhbCAjYWJvdXQgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgI2Fib3V0IC5yZXZlYWwgLmNvbnRlbnQgPiAuZ2FsbGVyeSwgLnJldmVhbCAjYWJvdXQgLmNvbnRlbnQtd3JhcHBlciA+IC5nYWxsZXJ5LCAjYWJvdXQgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmdhbGxlcnksICNhYm91dCAucHJpY2UtbGlzdHMgPiAuZ2FsbGVyeSwgI2NvdXJzZXMgLmdyaWQteCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNhYm91dCA+IC50aXRsZS1ib3gsIC5ibG9jayAjY291cnNlcyAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ibG9jayAuY29udGVudCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjdG91ciAubWVkaWEgI2NvdXJzZXMgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAjY291cnNlcyAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAudGl0bGUtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03LCAjYWJvdXQgPiAubGFyZ2UtNywgLmJsb2NrIC5jb250ZW50ID4gLmxhcmdlLTcsICNzZXJ2aWNlcyA+IC5sYXJnZS03LCAjdHJlbmVycyA+IC5sYXJnZS03LCAjY291cnNlcyA+IC5sYXJnZS03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmxhcmdlLTcsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmxhcmdlLTcsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5sYXJnZS03LCAucmV2ZWFsIC5jb250ZW50ID4gLmxhcmdlLTcsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5sYXJnZS03LCAucHJpY2UtbGlzdHMgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgsICNhYm91dCA+IC5sYXJnZS04LCAuYmxvY2sgLmNvbnRlbnQgPiAubGFyZ2UtOCwgI3NlcnZpY2VzID4gLmxhcmdlLTgsICN0cmVuZXJzID4gLmxhcmdlLTgsICNjb3Vyc2VzID4gLmxhcmdlLTgsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtOCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtOCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmxhcmdlLTgsIC5yZXZlYWwgLmNvbnRlbnQgPiAubGFyZ2UtOCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmxhcmdlLTgsIC5wcmljZS1saXN0cyA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSwgI2Fib3V0ID4gLmxhcmdlLTksIC5ibG9jayAuY29udGVudCA+IC5sYXJnZS05LCAjc2VydmljZXMgPiAubGFyZ2UtOSwgI3RyZW5lcnMgPiAubGFyZ2UtOSwgI2NvdXJzZXMgPiAubGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS05LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5sYXJnZS05LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS05LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubGFyZ2UtOSwgLnByaWNlLWxpc3RzID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCwgI2Fib3V0ID4gLmxhcmdlLTEwLCAuYmxvY2sgLmNvbnRlbnQgPiAubGFyZ2UtMTAsICNzZXJ2aWNlcyA+IC5sYXJnZS0xMCwgI3RyZW5lcnMgPiAubGFyZ2UtMTAsICNjb3Vyc2VzID4gLmxhcmdlLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLmxhcmdlLTEwLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC5sYXJnZS0xMCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLmxhcmdlLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gLmxhcmdlLTEwLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAubGFyZ2UtMTAsIC5wcmljZS1saXN0cyA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExLCAjYWJvdXQgPiAubGFyZ2UtMTEsIC5ibG9jayAuY29udGVudCA+IC5sYXJnZS0xMSwgI3NlcnZpY2VzID4gLmxhcmdlLTExLCAjdHJlbmVycyA+IC5sYXJnZS0xMSwgI2NvdXJzZXMgPiAubGFyZ2UtMTEsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtMTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLmxhcmdlLTExLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAubGFyZ2UtMTEsIC5yZXZlYWwgLmNvbnRlbnQgPiAubGFyZ2UtMTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5sYXJnZS0xMSwgLnByaWNlLWxpc3RzID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIsICNhYm91dCA+IC5sYXJnZS0xMiwgLmJsb2NrIC5jb250ZW50ID4gLmxhcmdlLTEyLCAjc2VydmljZXMgPiAubGFyZ2UtMTIsICN0cmVuZXJzID4gLmxhcmdlLTEyLCAjY291cnNlcyA+IC5sYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC5sYXJnZS0xMiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAubGFyZ2UtMTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC5sYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IC5sYXJnZS0xMiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmxhcmdlLTEyLCAucHJpY2UtbGlzdHMgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvLCAjYWJvdXQgPiAueGxhcmdlLWF1dG8sIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2UtYXV0bywgI3NlcnZpY2VzID4gLnhsYXJnZS1hdXRvLCAjdHJlbmVycyA+IC54bGFyZ2UtYXV0bywgI2NvdXJzZXMgPiAueGxhcmdlLWF1dG8sICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLWF1dG8sICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnhsYXJnZS1hdXRvLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQgPiAueGxhcmdlLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54bGFyZ2UtYXV0bywgLnByaWNlLWxpc3RzID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgI2Fib3V0ID4gLnhsYXJnZS1zaHJpbmssIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiAueGxhcmdlLXNocmluaywgI3RyZW5lcnMgPiAueGxhcmdlLXNocmluaywgI2NvdXJzZXMgPiAueGxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2Utc2hyaW5rLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54bGFyZ2Utc2hyaW5rLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2Utc2hyaW5rLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueGxhcmdlLXNocmluaywgLnByaWNlLWxpc3RzID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEsICNhYm91dCA+IC54bGFyZ2UtMSwgLmJsb2NrIC5jb250ZW50ID4gLnhsYXJnZS0xLCAjc2VydmljZXMgPiAueGxhcmdlLTEsICN0cmVuZXJzID4gLnhsYXJnZS0xLCAjY291cnNlcyA+IC54bGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2UtMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnhsYXJnZS0xLCAucHJpY2UtbGlzdHMgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yLCAjYWJvdXQgPiAueGxhcmdlLTIsIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2UtMiwgI3NlcnZpY2VzID4gLnhsYXJnZS0yLCAjdHJlbmVycyA+IC54bGFyZ2UtMiwgI2NvdXJzZXMgPiAueGxhcmdlLTIsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnhsYXJnZS0yLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLTIsIC5yZXZlYWwgLmNvbnRlbnQgPiAueGxhcmdlLTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54bGFyZ2UtMiwgLnByaWNlLWxpc3RzID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMsICNhYm91dCA+IC54bGFyZ2UtMywgLmJsb2NrIC5jb250ZW50ID4gLnhsYXJnZS0zLCAjc2VydmljZXMgPiAueGxhcmdlLTMsICN0cmVuZXJzID4gLnhsYXJnZS0zLCAjY291cnNlcyA+IC54bGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2UtMywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTMsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54bGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2UtMywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnhsYXJnZS0zLCAucHJpY2UtbGlzdHMgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCwgI2Fib3V0ID4gLnhsYXJnZS00LCAuYmxvY2sgLmNvbnRlbnQgPiAueGxhcmdlLTQsICNzZXJ2aWNlcyA+IC54bGFyZ2UtNCwgI3RyZW5lcnMgPiAueGxhcmdlLTQsICNjb3Vyc2VzID4gLnhsYXJnZS00LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnhsYXJnZS00LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54bGFyZ2UtNCwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnhsYXJnZS00LCAucmV2ZWFsIC5jb250ZW50ID4gLnhsYXJnZS00LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueGxhcmdlLTQsIC5wcmljZS1saXN0cyA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01LCAjYWJvdXQgPiAueGxhcmdlLTUsIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2UtNSwgI3NlcnZpY2VzID4gLnhsYXJnZS01LCAjdHJlbmVycyA+IC54bGFyZ2UtNSwgI2NvdXJzZXMgPiAueGxhcmdlLTUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnhsYXJnZS01LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLTUsIC5yZXZlYWwgLmNvbnRlbnQgPiAueGxhcmdlLTUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54bGFyZ2UtNSwgLnByaWNlLWxpc3RzID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYsICNhYm91dCA+IC54bGFyZ2UtNiwgLmJsb2NrIC5jb250ZW50ID4gLnhsYXJnZS02LCAjc2VydmljZXMgPiAueGxhcmdlLTYsICN0cmVuZXJzID4gLnhsYXJnZS02LCAjY291cnNlcyA+IC54bGFyZ2UtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2UtNiwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTYsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnhsYXJnZS02LCAucHJpY2UtbGlzdHMgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNywgI2Fib3V0ID4gLnhsYXJnZS03LCAuYmxvY2sgLmNvbnRlbnQgPiAueGxhcmdlLTcsICNzZXJ2aWNlcyA+IC54bGFyZ2UtNywgI3RyZW5lcnMgPiAueGxhcmdlLTcsICNjb3Vyc2VzID4gLnhsYXJnZS03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnhsYXJnZS03LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54bGFyZ2UtNywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnhsYXJnZS03LCAucmV2ZWFsIC5jb250ZW50ID4gLnhsYXJnZS03LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueGxhcmdlLTcsIC5wcmljZS1saXN0cyA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04LCAjYWJvdXQgPiAueGxhcmdlLTgsIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2UtOCwgI3NlcnZpY2VzID4gLnhsYXJnZS04LCAjdHJlbmVycyA+IC54bGFyZ2UtOCwgI2NvdXJzZXMgPiAueGxhcmdlLTgsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTgsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnhsYXJnZS04LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLTgsIC5yZXZlYWwgLmNvbnRlbnQgPiAueGxhcmdlLTgsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54bGFyZ2UtOCwgLnByaWNlLWxpc3RzID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTksICNhYm91dCA+IC54bGFyZ2UtOSwgLmJsb2NrIC5jb250ZW50ID4gLnhsYXJnZS05LCAjc2VydmljZXMgPiAueGxhcmdlLTksICN0cmVuZXJzID4gLnhsYXJnZS05LCAjY291cnNlcyA+IC54bGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2UtOSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTksICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnhsYXJnZS05LCAucHJpY2UtbGlzdHMgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAsICNhYm91dCA+IC54bGFyZ2UtMTAsIC5ibG9jayAuY29udGVudCA+IC54bGFyZ2UtMTAsICNzZXJ2aWNlcyA+IC54bGFyZ2UtMTAsICN0cmVuZXJzID4gLnhsYXJnZS0xMCwgI2NvdXJzZXMgPiAueGxhcmdlLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnhsYXJnZS0xMCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTEwLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueGxhcmdlLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gLnhsYXJnZS0xMCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnhsYXJnZS0xMCwgLnByaWNlLWxpc3RzID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgI2Fib3V0ID4gLnhsYXJnZS0xMSwgLmJsb2NrIC5jb250ZW50ID4gLnhsYXJnZS0xMSwgI3NlcnZpY2VzID4gLnhsYXJnZS0xMSwgI3RyZW5lcnMgPiAueGxhcmdlLTExLCAjY291cnNlcyA+IC54bGFyZ2UtMTEsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueGxhcmdlLTExLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54bGFyZ2UtMTEsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54bGFyZ2UtMTEsIC5yZXZlYWwgLmNvbnRlbnQgPiAueGxhcmdlLTExLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueGxhcmdlLTExLCAucHJpY2UtbGlzdHMgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyLCAjYWJvdXQgPiAueGxhcmdlLTEyLCAuYmxvY2sgLmNvbnRlbnQgPiAueGxhcmdlLTEyLCAjc2VydmljZXMgPiAueGxhcmdlLTEyLCAjdHJlbmVycyA+IC54bGFyZ2UtMTIsICNjb3Vyc2VzID4gLnhsYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54bGFyZ2UtMTIsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnhsYXJnZS0xMiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnhsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IC54bGFyZ2UtMTIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54bGFyZ2UtMTIsIC5wcmljZS1saXN0cyA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2UtYXV0bywgI2Fib3V0ID4gLnh4bGFyZ2UtYXV0bywgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2UtYXV0bywgI3NlcnZpY2VzID4gLnh4bGFyZ2UtYXV0bywgI3RyZW5lcnMgPiAueHhsYXJnZS1hdXRvLCAjY291cnNlcyA+IC54eGxhcmdlLWF1dG8sICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS1hdXRvLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54eGxhcmdlLWF1dG8sICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLWF1dG8sIC5yZXZlYWwgLmNvbnRlbnQgPiAueHhsYXJnZS1hdXRvLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueHhsYXJnZS1hdXRvLCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssICNhYm91dCA+IC54eGxhcmdlLXNocmluaywgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2Utc2hyaW5rLCAjc2VydmljZXMgPiAueHhsYXJnZS1zaHJpbmssICN0cmVuZXJzID4gLnh4bGFyZ2Utc2hyaW5rLCAjY291cnNlcyA+IC54eGxhcmdlLXNocmluaywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLXNocmluaywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS1zaHJpbmssICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLXNocmluaywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnh4bGFyZ2Utc2hyaW5rLCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xLCAjYWJvdXQgPiAueHhsYXJnZS0xLCAuYmxvY2sgLmNvbnRlbnQgPiAueHhsYXJnZS0xLCAjc2VydmljZXMgPiAueHhsYXJnZS0xLCAjdHJlbmVycyA+IC54eGxhcmdlLTEsICNjb3Vyc2VzID4gLnh4bGFyZ2UtMSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTEsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnh4bGFyZ2UtMSwgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLTEsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54eGxhcmdlLTEsIC5wcmljZS1saXN0cyA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgI2Fib3V0ID4gLnh4bGFyZ2UtMiwgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2UtMiwgI3NlcnZpY2VzID4gLnh4bGFyZ2UtMiwgI3RyZW5lcnMgPiAueHhsYXJnZS0yLCAjY291cnNlcyA+IC54eGxhcmdlLTIsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS0yLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTIsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLTIsIC5yZXZlYWwgLmNvbnRlbnQgPiAueHhsYXJnZS0yLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueHhsYXJnZS0yLCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0zLCAjYWJvdXQgPiAueHhsYXJnZS0zLCAuYmxvY2sgLmNvbnRlbnQgPiAueHhsYXJnZS0zLCAjc2VydmljZXMgPiAueHhsYXJnZS0zLCAjdHJlbmVycyA+IC54eGxhcmdlLTMsICNjb3Vyc2VzID4gLnh4bGFyZ2UtMywgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTMsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtMywgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnh4bGFyZ2UtMywgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLTMsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54eGxhcmdlLTMsIC5wcmljZS1saXN0cyA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQsICNhYm91dCA+IC54eGxhcmdlLTQsIC5ibG9jayAuY29udGVudCA+IC54eGxhcmdlLTQsICNzZXJ2aWNlcyA+IC54eGxhcmdlLTQsICN0cmVuZXJzID4gLnh4bGFyZ2UtNCwgI2NvdXJzZXMgPiAueHhsYXJnZS00LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtNCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS00LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueHhsYXJnZS00LCAucmV2ZWFsIC5jb250ZW50ID4gLnh4bGFyZ2UtNCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnh4bGFyZ2UtNCwgLnByaWNlLWxpc3RzID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgI2Fib3V0ID4gLnh4bGFyZ2UtNSwgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2UtNSwgI3NlcnZpY2VzID4gLnh4bGFyZ2UtNSwgI3RyZW5lcnMgPiAueHhsYXJnZS01LCAjY291cnNlcyA+IC54eGxhcmdlLTUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS01LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTUsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLTUsIC5yZXZlYWwgLmNvbnRlbnQgPiAueHhsYXJnZS01LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueHhsYXJnZS01LCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS02LCAjYWJvdXQgPiAueHhsYXJnZS02LCAuYmxvY2sgLmNvbnRlbnQgPiAueHhsYXJnZS02LCAjc2VydmljZXMgPiAueHhsYXJnZS02LCAjdHJlbmVycyA+IC54eGxhcmdlLTYsICNjb3Vyc2VzID4gLnh4bGFyZ2UtNiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTYsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtNiwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnh4bGFyZ2UtNiwgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLTYsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54eGxhcmdlLTYsIC5wcmljZS1saXN0cyA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcsICNhYm91dCA+IC54eGxhcmdlLTcsIC5ibG9jayAuY29udGVudCA+IC54eGxhcmdlLTcsICNzZXJ2aWNlcyA+IC54eGxhcmdlLTcsICN0cmVuZXJzID4gLnh4bGFyZ2UtNywgI2NvdXJzZXMgPiAueHhsYXJnZS03LCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtNywgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS03LCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueHhsYXJnZS03LCAucmV2ZWFsIC5jb250ZW50ID4gLnh4bGFyZ2UtNywgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnh4bGFyZ2UtNywgLnByaWNlLWxpc3RzID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgI2Fib3V0ID4gLnh4bGFyZ2UtOCwgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2UtOCwgI3NlcnZpY2VzID4gLnh4bGFyZ2UtOCwgI3RyZW5lcnMgPiAueHhsYXJnZS04LCAjY291cnNlcyA+IC54eGxhcmdlLTgsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS04LCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTgsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLTgsIC5yZXZlYWwgLmNvbnRlbnQgPiAueHhsYXJnZS04LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueHhsYXJnZS04LCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS05LCAjYWJvdXQgPiAueHhsYXJnZS05LCAuYmxvY2sgLmNvbnRlbnQgPiAueHhsYXJnZS05LCAjc2VydmljZXMgPiAueHhsYXJnZS05LCAjdHJlbmVycyA+IC54eGxhcmdlLTksICNjb3Vyc2VzID4gLnh4bGFyZ2UtOSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTksICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtOSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnh4bGFyZ2UtOSwgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLTksIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54eGxhcmdlLTksIC5wcmljZS1saXN0cyA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAjYWJvdXQgPiAueHhsYXJnZS0xMCwgLmJsb2NrIC5jb250ZW50ID4gLnh4bGFyZ2UtMTAsICNzZXJ2aWNlcyA+IC54eGxhcmdlLTEwLCAjdHJlbmVycyA+IC54eGxhcmdlLTEwLCAjY291cnNlcyA+IC54eGxhcmdlLTEwLCAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtMTAsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50ID4gLnh4bGFyZ2UtMTAsICN0b3VyIC5tZWRpYSAuY29udGVudCA+IC54eGxhcmdlLTEwLCAucmV2ZWFsIC5jb250ZW50ID4gLnh4bGFyZ2UtMTAsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC54eGxhcmdlLTEwLCAucHJpY2UtbGlzdHMgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsICNhYm91dCA+IC54eGxhcmdlLTExLCAuYmxvY2sgLmNvbnRlbnQgPiAueHhsYXJnZS0xMSwgI3NlcnZpY2VzID4gLnh4bGFyZ2UtMTEsICN0cmVuZXJzID4gLnh4bGFyZ2UtMTEsICNjb3Vyc2VzID4gLnh4bGFyZ2UtMTEsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS0xMSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQgPiAueHhsYXJnZS0xMSwgI3RvdXIgLm1lZGlhIC5jb250ZW50ID4gLnh4bGFyZ2UtMTEsIC5yZXZlYWwgLmNvbnRlbnQgPiAueHhsYXJnZS0xMSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnh4bGFyZ2UtMTEsIC5wcmljZS1saXN0cyA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiwgI2Fib3V0ID4gLnh4bGFyZ2UtMTIsIC5ibG9jayAuY29udGVudCA+IC54eGxhcmdlLTEyLCAjc2VydmljZXMgPiAueHhsYXJnZS0xMiwgI3RyZW5lcnMgPiAueHhsYXJnZS0xMiwgI2NvdXJzZXMgPiAueHhsYXJnZS0xMiwgI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTEyLCAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCA+IC54eGxhcmdlLTEyLCAjdG91ciAubWVkaWEgLmNvbnRlbnQgPiAueHhsYXJnZS0xMiwgLnJldmVhbCAuY29udGVudCA+IC54eGxhcmdlLTEyLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAueHhsYXJnZS0xMiwgLnByaWNlLWxpc3RzID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpOm5vdCgjYWJvdXQpOm5vdCguYmxvY2sgLmNvbnRlbnQpOm5vdCgjc2VydmljZXMpOm5vdCgjdHJlbmVycyk6bm90KCNjb3Vyc2VzKTpub3QoI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCk6bm90KCNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50KTpub3QoI3RvdXIgLm1lZGlhIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlcik6bm90KC5wcmljZS1saXN0cykgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KTpub3QoI2Fib3V0KTpub3QoLmJsb2NrIC5jb250ZW50KTpub3QoI3NlcnZpY2VzKTpub3QoI3RyZW5lcnMpOm5vdCgjY291cnNlcyk6bm90KCNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQpOm5vdCgjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCk6bm90KCN0b3VyIC5tZWRpYSAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIpOm5vdCgucHJpY2UtbGlzdHMpID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KTpub3QoI2Fib3V0KTpub3QoLmJsb2NrIC5jb250ZW50KTpub3QoI3NlcnZpY2VzKTpub3QoI3RyZW5lcnMpOm5vdCgjY291cnNlcyk6bm90KCNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQpOm5vdCgjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCk6bm90KCN0b3VyIC5tZWRpYSAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIpOm5vdCgucHJpY2UtbGlzdHMpID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCk6bm90KCNhYm91dCk6bm90KC5ibG9jayAuY29udGVudCk6bm90KCNzZXJ2aWNlcyk6bm90KCN0cmVuZXJzKTpub3QoI2NvdXJzZXMpOm5vdCgjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50KTpub3QoI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQpOm5vdCgjdG91ciAubWVkaWEgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudC13cmFwcGVyKTpub3QoLnByaWNlLWxpc3RzKSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpOm5vdCgjYWJvdXQpOm5vdCguYmxvY2sgLmNvbnRlbnQpOm5vdCgjc2VydmljZXMpOm5vdCgjdHJlbmVycyk6bm90KCNjb3Vyc2VzKTpub3QoI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCk6bm90KCNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50KTpub3QoI3RvdXIgLm1lZGlhIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlcik6bm90KC5wcmljZS1saXN0cykgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCk6bm90KCNhYm91dCk6bm90KC5ibG9jayAuY29udGVudCk6bm90KCNzZXJ2aWNlcyk6bm90KCN0cmVuZXJzKTpub3QoI2NvdXJzZXMpOm5vdCgjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50KTpub3QoI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQpOm5vdCgjdG91ciAubWVkaWEgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudC13cmFwcGVyKTpub3QoLnByaWNlLWxpc3RzKSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCk6bm90KCNhYm91dCk6bm90KC5ibG9jayAuY29udGVudCk6bm90KCNzZXJ2aWNlcyk6bm90KCN0cmVuZXJzKTpub3QoI2NvdXJzZXMpOm5vdCgjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50KTpub3QoI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmNvbnRlbnQpOm5vdCgjdG91ciAubWVkaWEgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudC13cmFwcGVyKTpub3QoLnByaWNlLWxpc3RzKSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KTpub3QoI2Fib3V0KTpub3QoLmJsb2NrIC5jb250ZW50KTpub3QoI3NlcnZpY2VzKTpub3QoI3RyZW5lcnMpOm5vdCgjY291cnNlcyk6bm90KCNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQpOm5vdCgjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCk6bm90KCN0b3VyIC5tZWRpYSAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQpOm5vdCgucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIpOm5vdCgucHJpY2UtbGlzdHMpID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpOm5vdCgjYWJvdXQpOm5vdCguYmxvY2sgLmNvbnRlbnQpOm5vdCgjc2VydmljZXMpOm5vdCgjdHJlbmVycyk6bm90KCNjb3Vyc2VzKTpub3QoI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCk6bm90KCNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50KTpub3QoI3RvdXIgLm1lZGlhIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlcik6bm90KC5wcmljZS1saXN0cykgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpOm5vdCgjYWJvdXQpOm5vdCguYmxvY2sgLmNvbnRlbnQpOm5vdCgjc2VydmljZXMpOm5vdCgjdHJlbmVycyk6bm90KCNjb3Vyc2VzKTpub3QoI2NvdXJzZXMgLnRpdGxlLWJveCAuY29udGVudCk6bm90KCNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50KTpub3QoI3RvdXIgLm1lZGlhIC5jb250ZW50KTpub3QoLnJldmVhbCAuY29udGVudCk6bm90KC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlcik6bm90KC5wcmljZS1saXN0cykgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5hcnRpY2xlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14ID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8sIC5ncmlkLW1hcmdpbi14ID4gLnF1b3RlLWJsb2NrIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiwgI2Fib3V0IC5ncmlkLW1hcmdpbi14ID4gLmdhbGxlcnksICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14ID4gLmNvdXJzZS1ib3gsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwudGl0bGUsIC5ncmlkLW1hcmdpbi14ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8sIC5ncmlkLW1hcmdpbi14ID4gLnF1b3RlLWJsb2NrIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiwgI2Fib3V0IC5ncmlkLW1hcmdpbi14ID4gLmdhbGxlcnksICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14ID4gLmNvdXJzZS1ib3gsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwudGl0bGUsIC5ncmlkLW1hcmdpbi14ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14ID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14ID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXggPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiwgI2Fib3V0IC5ncmlkLW1hcmdpbi14ID4gLmdhbGxlcnkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0bywgLnJldmVhbCAuZ3JpZC1tYXJnaW4teCA+IC5pbWFnZSB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14ID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYsICNhYm91dCAuZ3JpZC1tYXJnaW4teCA+IC5nYWxsZXJ5LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teCA+IC50aXRsZS1ib3gge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14LCAuY2VsbC50aXRsZSAuZ3JpZC1wYWRkaW5nLXgsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5ncmlkLXBhZGRpbmcteCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAuZ3JpZC1wYWRkaW5nLXgsIC50aXRsZS5xdW90ZS1ibG9jayAuZ3JpZC1wYWRkaW5nLXgsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLmdyaWQtcGFkZGluZy14LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAuZ3JpZC1wYWRkaW5nLXgsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmdyaWQtcGFkZGluZy14LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAuZ3JpZC1wYWRkaW5nLXgsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5ncmlkLXBhZGRpbmcteCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAuZ3JpZC1wYWRkaW5nLXgsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAuZ3JpZC1wYWRkaW5nLXgsIC5wcmljZS1saXN0cyAuZ3JpZC1wYWRkaW5nLXgsIC5ncmlkLXBhZGRpbmcteCAuY2VsbC50aXRsZSwgLmNlbGwudGl0bGUgLmNlbGwudGl0bGUsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5jZWxsLnRpdGxlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5jZWxsLnRpdGxlLCAudGl0bGUucXVvdGUtYmxvY2sgLmNlbGwudGl0bGUsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLmNlbGwudGl0bGUsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5jZWxsLnRpdGxlLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5jZWxsLnRpdGxlLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAuY2VsbC50aXRsZSwgLnJldmVhbCAudGl0bGUuaW1hZ2UgLmNlbGwudGl0bGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLmNlbGwudGl0bGUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAuY2VsbC50aXRsZSwgLnByaWNlLWxpc3RzIC5jZWxsLnRpdGxlLCAuZ3JpZC1wYWRkaW5nLXggI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLnByaWNlLWxpc3RzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnByaWNlLWxpc3RzIC50aXRsZS50aXRsZS1ib3gsIC5ncmlkLXBhZGRpbmcteCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmdyaWQtcGFkZGluZy14IC50aXRsZS5zZXJ2aWNlLWJveCwgLmNlbGwudGl0bGUgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5jZWxsLnRpdGxlIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgLnRpdGxlLnF1b3RlLWJsb2NrICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnNlcnZpY2UtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuc2VydmljZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuc2VydmljZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUuc2VydmljZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnNlcnZpY2UtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuc2VydmljZS1ib3gsIC5wcmljZS1saXN0cyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnByaWNlLWxpc3RzIC50aXRsZS5zZXJ2aWNlLWJveCwgLmdyaWQtcGFkZGluZy14IC50aXRsZS5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnF1b3RlLWJsb2NrLCAucHJpY2UtbGlzdHMgLnRpdGxlLnF1b3RlLWJsb2NrLCAuZ3JpZC1wYWRkaW5nLXggI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy14IC50aXRsZS50aXRsZS1ib3gsIC5jZWxsLnRpdGxlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5jZWxsLnRpdGxlIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudGl0bGUtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS50aXRsZS1ib3gsIC5wcmljZS1saXN0cyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy14ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLnRyZW5lci1ib3gsIC5jZWxsLnRpdGxlICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSAudGl0bGUudHJlbmVyLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50cmVuZXItYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50cmVuZXItYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnRyZW5lci1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUudHJlbmVyLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS50cmVuZXItYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS50cmVuZXItYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUudHJlbmVyLWJveCwgLnByaWNlLWxpc3RzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucHJpY2UtbGlzdHMgLnRpdGxlLnRyZW5lci1ib3gsIC5ncmlkLXBhZGRpbmcteCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNlbGwudGl0bGUgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLnByaWNlLWxpc3RzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyAudGl0bGUudGl0bGUtYm94LCAuZ3JpZC1wYWRkaW5nLXggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXBhZGRpbmcteCAudGl0bGUuY291cnNlLWJveCwgLmNlbGwudGl0bGUgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5jZWxsLnRpdGxlIC50aXRsZS5jb3Vyc2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmNvdXJzZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLmNvdXJzZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5jb3Vyc2UtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC50aXRsZS5pbWFnZSAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5jb3Vyc2UtYm94LCAucHJpY2UtbGlzdHMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyAudGl0bGUuY291cnNlLWJveCwgLmdyaWQtcGFkZGluZy14IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteCAudGl0bGUuaW1hZ2UsIC5jZWxsLnRpdGxlIC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC50aXRsZS5pbWFnZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLmltYWdlLCAudGl0bGUucXVvdGUtYmxvY2sgLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5pbWFnZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5pbWFnZSwgLnByaWNlLWxpc3RzIC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5wcmljZS1saXN0cyAudGl0bGUuaW1hZ2UsIC5ncmlkLXBhZGRpbmcteCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLXBhZGRpbmcteCAudGl0bGUuYXJ0aWNsZSwgLmNlbGwudGl0bGUgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuY2VsbC50aXRsZSAudGl0bGUuYXJ0aWNsZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuYXJ0aWNsZSwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLmFydGljbGUsIC50aXRsZS5xdW90ZS1ibG9jayAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuYXJ0aWNsZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmFydGljbGUsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLmFydGljbGUsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5hcnRpY2xlLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS5hcnRpY2xlLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5hcnRpY2xlLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLmFydGljbGUsIC5wcmljZS1saXN0cyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5wcmljZS1saXN0cyAudGl0bGUuYXJ0aWNsZSwgLmdyaWQtcGFkZGluZy14IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuZ3JpZC1wYWRkaW5nLXggLmNvbnRlbnQtd3JhcHBlciwgLmNlbGwudGl0bGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC5jb250ZW50LXdyYXBwZXIsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAuY29udGVudC13cmFwcGVyLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC50aXRsZS5xdW90ZS1ibG9jayAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC5jb250ZW50LXdyYXBwZXIsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5jb250ZW50LXdyYXBwZXIsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5jb250ZW50LXdyYXBwZXIsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5jb250ZW50LXdyYXBwZXIsIC5wcmljZS1saXN0cyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnByaWNlLWxpc3RzIC5jb250ZW50LXdyYXBwZXIsIC5ncmlkLXBhZGRpbmcteCAucHJpY2UtbGlzdHMsIC5jZWxsLnRpdGxlIC5wcmljZS1saXN0cywgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnByaWNlLWxpc3RzLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5wcmljZS1saXN0cywgLnRpdGxlLnF1b3RlLWJsb2NrIC5wcmljZS1saXN0cywgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAucHJpY2UtbGlzdHMsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5wcmljZS1saXN0cywgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAucHJpY2UtbGlzdHMsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5wcmljZS1saXN0cywgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnByaWNlLWxpc3RzLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5wcmljZS1saXN0cywgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5wcmljZS1saXN0cywgLnByaWNlLWxpc3RzIC5wcmljZS1saXN0cyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCwgLmNlbGwudGl0bGUgLmdyaWQtcGFkZGluZy14LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAuZ3JpZC1wYWRkaW5nLXgsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLmdyaWQtcGFkZGluZy14LCAudGl0bGUucXVvdGUtYmxvY2sgLmdyaWQtcGFkZGluZy14LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC5ncmlkLXBhZGRpbmcteCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLmdyaWQtcGFkZGluZy14LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5ncmlkLXBhZGRpbmcteCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLmdyaWQtcGFkZGluZy14LCAucmV2ZWFsIC50aXRsZS5pbWFnZSAuZ3JpZC1wYWRkaW5nLXgsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLmdyaWQtcGFkZGluZy14LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLmdyaWQtcGFkZGluZy14LCAucHJpY2UtbGlzdHMgLmdyaWQtcGFkZGluZy14LCAuZ3JpZC1wYWRkaW5nLXggLmNlbGwudGl0bGUsIC5jZWxsLnRpdGxlIC5jZWxsLnRpdGxlLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAuY2VsbC50aXRsZSwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAuY2VsbC50aXRsZSwgLnRpdGxlLnF1b3RlLWJsb2NrIC5jZWxsLnRpdGxlLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC5jZWxsLnRpdGxlLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAuY2VsbC50aXRsZSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAuY2VsbC50aXRsZSwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLmNlbGwudGl0bGUsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5jZWxsLnRpdGxlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5jZWxsLnRpdGxlLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLmNlbGwudGl0bGUsIC5wcmljZS1saXN0cyAuY2VsbC50aXRsZSwgLmdyaWQtcGFkZGluZy14ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtcGFkZGluZy14IC50aXRsZS50aXRsZS1ib3gsIC5jZWxsLnRpdGxlICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLmNlbGwudGl0bGUgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudGl0bGUtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS50aXRsZS1ib3gsIC5wcmljZS1saXN0cyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyAudGl0bGUudGl0bGUtYm94LCAuZ3JpZC1wYWRkaW5nLXggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXBhZGRpbmcteCAudGl0bGUuc2VydmljZS1ib3gsIC5jZWxsLnRpdGxlICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUuc2VydmljZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuc2VydmljZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAudGl0bGUuc2VydmljZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAucmV2ZWFsIC50aXRsZS5pbWFnZSAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnNlcnZpY2UtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5zZXJ2aWNlLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnNlcnZpY2UtYm94LCAucHJpY2UtbGlzdHMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyAudGl0bGUuc2VydmljZS1ib3gsIC5ncmlkLXBhZGRpbmcteCAudGl0bGUucXVvdGUtYmxvY2ssIC5jZWxsLnRpdGxlIC50aXRsZS5xdW90ZS1ibG9jaywgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUucXVvdGUtYmxvY2ssICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnF1b3RlLWJsb2NrLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5xdW90ZS1ibG9jaywgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5xdW90ZS1ibG9jaywgLnByaWNlLWxpc3RzIC50aXRsZS5xdW90ZS1ibG9jaywgLmdyaWQtcGFkZGluZy14ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLXBhZGRpbmcteCAudGl0bGUudGl0bGUtYm94LCAuY2VsbC50aXRsZSAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnRpdGxlLnF1b3RlLWJsb2NrICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC50aXRsZS5pbWFnZSAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUudGl0bGUtYm94LCAucHJpY2UtbGlzdHMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnByaWNlLWxpc3RzIC50aXRsZS50aXRsZS1ib3gsIC5ncmlkLXBhZGRpbmcteCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy14IC50aXRsZS50cmVuZXItYm94LCAuY2VsbC50aXRsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmNlbGwudGl0bGUgLnRpdGxlLnRyZW5lci1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudHJlbmVyLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudHJlbmVyLWJveCwgLnRpdGxlLnF1b3RlLWJsb2NrICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudHJlbmVyLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudHJlbmVyLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRyZW5lci1ib3gsIC5wcmljZS1saXN0cyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLnByaWNlLWxpc3RzIC50aXRsZS50cmVuZXItYm94LCAuZ3JpZC1wYWRkaW5nLXggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtcGFkZGluZy14IC50aXRsZS50aXRsZS1ib3gsIC5jZWxsLnRpdGxlICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC5jZWxsLnRpdGxlIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudGl0bGUtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS50aXRsZS1ib3gsIC5wcmljZS1saXN0cyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAucHJpY2UtbGlzdHMgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy14ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLmNvdXJzZS1ib3gsIC5jZWxsLnRpdGxlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSAudGl0bGUuY291cnNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuY291cnNlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuY291cnNlLWJveCwgLnByaWNlLWxpc3RzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAucHJpY2UtbGlzdHMgLnRpdGxlLmNvdXJzZS1ib3gsIC5ncmlkLXBhZGRpbmcteCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLmltYWdlLCAuY2VsbC50aXRsZSAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAuY2VsbC50aXRsZSAudGl0bGUuaW1hZ2UsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5pbWFnZSwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5pbWFnZSwgLnRpdGxlLnF1b3RlLWJsb2NrIC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuaW1hZ2UsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuaW1hZ2UsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5pbWFnZSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5pbWFnZSwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLmltYWdlLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuaW1hZ2UsIC5wcmljZS1saXN0cyAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAucHJpY2UtbGlzdHMgLnRpdGxlLmltYWdlLCAuZ3JpZC1wYWRkaW5nLXggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1wYWRkaW5nLXggLnRpdGxlLmFydGljbGUsIC5jZWxsLnRpdGxlICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmNlbGwudGl0bGUgLnRpdGxlLmFydGljbGUsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmFydGljbGUsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5hcnRpY2xlLCAudGl0bGUucXVvdGUtYmxvY2sgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLmFydGljbGUsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5hcnRpY2xlLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5hcnRpY2xlLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuYXJ0aWNsZSwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuYXJ0aWNsZSwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUuYXJ0aWNsZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5hcnRpY2xlLCAucHJpY2UtbGlzdHMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucHJpY2UtbGlzdHMgLnRpdGxlLmFydGljbGUsIC5ncmlkLXBhZGRpbmcteCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLmdyaWQtcGFkZGluZy14IC5jb250ZW50LXdyYXBwZXIsIC5jZWxsLnRpdGxlIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuY2VsbC50aXRsZSAuY29udGVudC13cmFwcGVyLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAuY29udGVudC13cmFwcGVyLCAudGl0bGUucXVvdGUtYmxvY2sgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC50aXRsZS5xdW90ZS1ibG9jayAuY29udGVudC13cmFwcGVyLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC5jb250ZW50LXdyYXBwZXIsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAuY29udGVudC13cmFwcGVyLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5jb250ZW50LXdyYXBwZXIsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAuY29udGVudC13cmFwcGVyLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC13cmFwcGVyLCAucHJpY2UtbGlzdHMgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC5wcmljZS1saXN0cyAuY29udGVudC13cmFwcGVyLCAuZ3JpZC1wYWRkaW5nLXggLnByaWNlLWxpc3RzLCAuY2VsbC50aXRsZSAucHJpY2UtbGlzdHMsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5wcmljZS1saXN0cywgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAucHJpY2UtbGlzdHMsIC50aXRsZS5xdW90ZS1ibG9jayAucHJpY2UtbGlzdHMsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnByaWNlLWxpc3RzLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAucHJpY2UtbGlzdHMsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnByaWNlLWxpc3RzLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAucHJpY2UtbGlzdHMsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5wcmljZS1saXN0cywgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAucHJpY2UtbGlzdHMsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAucHJpY2UtbGlzdHMsIC5wcmljZS1saXN0cyAucHJpY2UtbGlzdHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCwgLmNlbGwudGl0bGUgPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5jZWxsLCAudGl0bGUucXVvdGUtYmxvY2sgPiAuY2VsbCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jZWxsLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jZWxsLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNlbGwsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNlbGwsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNlbGwsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuY2VsbCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNlbGwsIC5wcmljZS1saXN0cyA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtcGFkZGluZy14ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5jZWxsLnRpdGxlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50cmVuZXItYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5pbWFnZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnNlcnZpY2UtYm94LCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuYXJ0aWNsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucHJpY2UtbGlzdHMgPiAuc2VydmljZS1ib3gsIC5ncmlkLXBhZGRpbmcteCA+IC5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgPiAucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5xdW90ZS1ibG9jaywgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAucXVvdGUtYmxvY2ssIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5xdW90ZS1ibG9jaywgLnByaWNlLWxpc3RzID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1wYWRkaW5nLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLXBhZGRpbmcteCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSA+IC50cmVuZXItYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRyZW5lci1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLmltYWdlID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRyZW5lci1ib3gsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLmFydGljbGUgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXggPiAudGl0bGUtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXBhZGRpbmcteCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmNvdXJzZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmFydGljbGUgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteCA+IC5pbWFnZSwgLnJldmVhbCAuY2VsbC50aXRsZSA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmltYWdlLCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLnRpdGxlLmFydGljbGUgPiAuaW1hZ2UsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmltYWdlLCAucmV2ZWFsIC5wcmljZS1saXN0cyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1wYWRkaW5nLXggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuY2VsbC50aXRsZSA+IC5hcnRpY2xlLCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5xdW90ZS1ibG9jayA+IC5hcnRpY2xlLCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnRyZW5lci1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5hcnRpY2xlLCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmNvdXJzZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmltYWdlID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQtd3JhcHBlciA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5wcmljZS1saXN0cyA+IC5hcnRpY2xlIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCwgLmNlbGwudGl0bGUgPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5jZWxsLCAudGl0bGUucXVvdGUtYmxvY2sgPiAuY2VsbCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jZWxsLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jZWxsLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNlbGwsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNlbGwsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNlbGwsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuY2VsbCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNlbGwsIC5wcmljZS1saXN0cyA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtcGFkZGluZy14ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5jZWxsLnRpdGxlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50cmVuZXItYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5pbWFnZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnNlcnZpY2UtYm94LCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuYXJ0aWNsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucHJpY2UtbGlzdHMgPiAuc2VydmljZS1ib3gsIC5ncmlkLXBhZGRpbmcteCA+IC5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgPiAucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5xdW90ZS1ibG9jaywgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAucXVvdGUtYmxvY2ssIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5xdW90ZS1ibG9jaywgLnByaWNlLWxpc3RzID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1wYWRkaW5nLXggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLXBhZGRpbmcteCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAuY2VsbC50aXRsZSA+IC50cmVuZXItYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRyZW5lci1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLmltYWdlID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRyZW5lci1ib3gsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLmFydGljbGUgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5wcmljZS1saXN0cyA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXggPiAudGl0bGUtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXBhZGRpbmcteCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmNvdXJzZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmFydGljbGUgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5wcmljZS1saXN0cyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteCA+IC5pbWFnZSwgLnJldmVhbCAuY2VsbC50aXRsZSA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmltYWdlLCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLnRpdGxlLmFydGljbGUgPiAuaW1hZ2UsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmltYWdlLCAucmV2ZWFsIC5wcmljZS1saXN0cyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1wYWRkaW5nLXggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAuY2VsbC50aXRsZSA+IC5hcnRpY2xlLCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5xdW90ZS1ibG9jayA+IC5hcnRpY2xlLCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnRyZW5lci1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5hcnRpY2xlLCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmNvdXJzZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmltYWdlID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5hcnRpY2xlLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLmNvbnRlbnQtd3JhcHBlciA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5wcmljZS1saXN0cyA+IC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCwgI3NlcnZpY2VzIC5zbWFsbC11cC0xID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5zbWFsbC11cC0xID4gLnNlcnZpY2UtYm94LCAuc21hbGwtdXAtMSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnNtYWxsLXVwLTEgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuc21hbGwtdXAtMSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuc21hbGwtdXAtMSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5zbWFsbC11cC0xID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnNtYWxsLXVwLTEgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnNtYWxsLXVwLTEgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtMiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtMiA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTIgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC0yID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTIgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtMiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC0yID4gLmFydGljbGUge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtMyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtMyA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTMgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC0zID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTMgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtMyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC0zID4gLmFydGljbGUge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtNCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtNCA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTQgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC00ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtNCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC00ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC00ID4gLmFydGljbGUge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtNSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtNSA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTUgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC01ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTUgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtNSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC01ID4gLmFydGljbGUge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtNiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtNiA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTYgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC02ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTYgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtNiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC02ID4gLmFydGljbGUge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtNyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtNyA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTcgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC03ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTcgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTcgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtNyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC03ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC03ID4gLmFydGljbGUge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtdXAtOCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtdXAtOCA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXVwLTggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC11cC04ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXVwLTggPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtdXAtOCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC11cC04ID4gLmFydGljbGUge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwsICNzZXJ2aWNlcyAubWVkaXVtLXVwLTEgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLm1lZGl1bS11cC0xID4gLnNlcnZpY2UtYm94LCAubWVkaXVtLXVwLTEgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5tZWRpdW0tdXAtMSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5tZWRpdW0tdXAtMSA+IC50cmVuZXItYm94LCAjY291cnNlcyAubWVkaXVtLXVwLTEgPiAudGl0bGUtYm94LCAjY291cnNlcyAubWVkaXVtLXVwLTEgPiAuY291cnNlLWJveCwgLnJldmVhbCAubWVkaXVtLXVwLTEgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLm1lZGl1bS11cC0xID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC0yID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtMiA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC0yID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC0yID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC0yID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtMiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC0zID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtMyA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC0zID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC0zID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC0zID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtMyA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC00ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtNCA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC00ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC00ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC00ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC00ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtNCA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC01ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtNSA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC01ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTUgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC01ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC01ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtNSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC02ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtNiA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC02ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTYgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC02ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC02ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtNiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC03ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtNyA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC03ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTcgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTcgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC03ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC03ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC03ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtNyA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS11cC04ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tdXAtOCA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS11cC04ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXVwLTggPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC04ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS11cC04ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tdXAtOCA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsLCAjc2VydmljZXMgLmxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLXVwLTEgPiAuc2VydmljZS1ib3gsIC5sYXJnZS11cC0xID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS11cC0xID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTEgPiAuY291cnNlLWJveCwgLnJldmVhbCAubGFyZ2UtdXAtMSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtdXAtMSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsLCAjc2VydmljZXMgLmxhcmdlLXVwLTIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLXVwLTIgPiAuc2VydmljZS1ib3gsIC5sYXJnZS11cC0yID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS11cC0yID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC0yID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTIgPiAuY291cnNlLWJveCwgLnJldmVhbCAubGFyZ2UtdXAtMiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtdXAtMiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwsICNzZXJ2aWNlcyAubGFyZ2UtdXAtMyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAubGFyZ2UtdXAtMyA+IC5zZXJ2aWNlLWJveCwgLmxhcmdlLXVwLTMgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5sYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmxhcmdlLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjY291cnNlcyAubGFyZ2UtdXAtMyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5sYXJnZS11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5sYXJnZS11cC0zID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCwgI3NlcnZpY2VzIC5sYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5sYXJnZS11cC00ID4gLnNlcnZpY2UtYm94LCAubGFyZ2UtdXAtNCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubGFyZ2UtdXAtNCA+IC50cmVuZXItYm94LCAjY291cnNlcyAubGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC00ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmxhcmdlLXVwLTQgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmxhcmdlLXVwLTQgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsLCAjc2VydmljZXMgLmxhcmdlLXVwLTUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLXVwLTUgPiAuc2VydmljZS1ib3gsIC5sYXJnZS11cC01ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS11cC01ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC01ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTUgPiAuY291cnNlLWJveCwgLnJldmVhbCAubGFyZ2UtdXAtNSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtdXAtNSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwsICNzZXJ2aWNlcyAubGFyZ2UtdXAtNiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAubGFyZ2UtdXAtNiA+IC5zZXJ2aWNlLWJveCwgLmxhcmdlLXVwLTYgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5sYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmxhcmdlLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjY291cnNlcyAubGFyZ2UtdXAtNiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5sYXJnZS11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5sYXJnZS11cC02ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCwgI3NlcnZpY2VzIC5sYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5sYXJnZS11cC03ID4gLnNlcnZpY2UtYm94LCAubGFyZ2UtdXAtNyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubGFyZ2UtdXAtNyA+IC50cmVuZXItYm94LCAjY291cnNlcyAubGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC03ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmxhcmdlLXVwLTcgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmxhcmdlLXVwLTcgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsLCAjc2VydmljZXMgLmxhcmdlLXVwLTggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLXVwLTggPiAuc2VydmljZS1ib3gsIC5sYXJnZS11cC04ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS11cC04ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS11cC04ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmxhcmdlLXVwLTggPiAuY291cnNlLWJveCwgLnJldmVhbCAubGFyZ2UtdXAtOCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtdXAtOCA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsLCAjc2VydmljZXMgLnhsYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtMSA+IC5zZXJ2aWNlLWJveCwgLnhsYXJnZS11cC0xID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAueGxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueGxhcmdlLXVwLTEgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnhsYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnhsYXJnZS11cC0xID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnhsYXJnZS11cC0xID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54bGFyZ2UtdXAtMSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTIgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtMiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC0yID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC0yID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtMiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtMiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTIgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtMyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTMgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtMyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC0zID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtMyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtMyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtMyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTMgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTQgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtNCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC00ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtNCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTQgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTUgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtNSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC01ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC01ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtNSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTUgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtNiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTYgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtNiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC02ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtNiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTYgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTcgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtNyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC03ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtNyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtNyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTcgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCwgI3NlcnZpY2VzIC54bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLXVwLTggPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtdXAtOCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnhsYXJnZS11cC04ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnhsYXJnZS11cC04ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtdXAtOCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54bGFyZ2UtdXAtOCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLXVwLTggPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwsICNzZXJ2aWNlcyAueHhsYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTEgPiAuc2VydmljZS1ib3gsIC54eGxhcmdlLXVwLTEgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC54eGxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueHhsYXJnZS11cC0xID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjY291cnNlcyAueHhsYXJnZS11cC0xID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnh4bGFyZ2UtdXAtMSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueHhsYXJnZS11cC0xID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnh4bGFyZ2UtdXAtMiA+IC5zZXJ2aWNlLWJveCwgLnh4bGFyZ2UtdXAtMiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnh4bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTIgPiAuY291cnNlLWJveCwgLnJldmVhbCAueHhsYXJnZS11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54eGxhcmdlLXVwLTIgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwsICNzZXJ2aWNlcyAueHhsYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTMgPiAuc2VydmljZS1ib3gsIC54eGxhcmdlLXVwLTMgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC54eGxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueHhsYXJnZS11cC0zID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjY291cnNlcyAueHhsYXJnZS11cC0zID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnh4bGFyZ2UtdXAtMyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueHhsYXJnZS11cC0zID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jZWxsLCAjc2VydmljZXMgLnh4bGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueHhsYXJnZS11cC00ID4gLnNlcnZpY2UtYm94LCAueHhsYXJnZS11cC00ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAueHhsYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnh4bGFyZ2UtdXAtNCA+IC50cmVuZXItYm94LCAjY291cnNlcyAueHhsYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtdXAtNCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54eGxhcmdlLXVwLTQgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnh4bGFyZ2UtdXAtNCA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY2VsbCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnh4bGFyZ2UtdXAtNSA+IC5zZXJ2aWNlLWJveCwgLnh4bGFyZ2UtdXAtNSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnh4bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTUgPiAuY291cnNlLWJveCwgLnJldmVhbCAueHhsYXJnZS11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54eGxhcmdlLXVwLTUgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02ID4gLmNlbGwsICNzZXJ2aWNlcyAueHhsYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTYgPiAuc2VydmljZS1ib3gsIC54eGxhcmdlLXVwLTYgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC54eGxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueHhsYXJnZS11cC02ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjY291cnNlcyAueHhsYXJnZS11cC02ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnh4bGFyZ2UtdXAtNiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueHhsYXJnZS11cC02ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyA+IC5jZWxsLCAjc2VydmljZXMgLnh4bGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueHhsYXJnZS11cC03ID4gLnNlcnZpY2UtYm94LCAueHhsYXJnZS11cC03ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAueHhsYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnh4bGFyZ2UtdXAtNyA+IC50cmVuZXItYm94LCAjY291cnNlcyAueHhsYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtdXAtNyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC54eGxhcmdlLXVwLTcgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnh4bGFyZ2UtdXAtNyA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCwgI3NlcnZpY2VzIC54eGxhcmdlLXVwLTggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnh4bGFyZ2UtdXAtOCA+IC5zZXJ2aWNlLWJveCwgLnh4bGFyZ2UtdXAtOCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnh4bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXVwLTggPiAuY291cnNlLWJveCwgLnJldmVhbCAueHhsYXJnZS11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54eGxhcmdlLXVwLTggPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5hcnRpY2xlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuYXJ0aWNsZSB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuYXJ0aWNsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyLCAjYWJvdXQgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5nYWxsZXJ5LCAjc2VydmljZXMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jb3Vyc2UtYm94LCAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwudGl0bGUsIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5yZXZlYWwgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCwgI3NlcnZpY2VzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYsICN0cmVuZXJzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyLCAjYWJvdXQgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5nYWxsZXJ5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zLCAjc2VydmljZXMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02LCAjYWJvdXQgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5nYWxsZXJ5LCAjY291cnNlcyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwsICNzZXJ2aWNlcyAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCwgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnJldmVhbCAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyLCAjYWJvdXQgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSwgI3NlcnZpY2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbC50aXRsZSwgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5yZXZlYWwgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQsICNzZXJ2aWNlcyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02LCAjdHJlbmVycyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyLCAjYWJvdXQgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMywgI3NlcnZpY2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiwgI2Fib3V0IC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmdhbGxlcnksICNjb3Vyc2VzIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsLCAjc2VydmljZXMgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCwgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwsICNzZXJ2aWNlcyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIsICNhYm91dCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmdhbGxlcnksICNzZXJ2aWNlcyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbC50aXRsZSwgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS5xdW90ZS1ibG9jaywgLnJldmVhbCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCwgI3NlcnZpY2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiwgI3RyZW5lcnMgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIsICNhYm91dCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmdhbGxlcnkge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMsICNzZXJ2aWNlcyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYsICNhYm91dCAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmdhbGxlcnksICNjb3Vyc2VzIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsLCAjc2VydmljZXMgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuc2VydmljZS1ib3gsIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnJldmVhbCAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsLCAjc2VydmljZXMgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnJldmVhbCAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyLCAjYWJvdXQgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSwgI3NlcnZpY2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbC50aXRsZSwgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5yZXZlYWwgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQsICNzZXJ2aWNlcyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02LCAjdHJlbmVycyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyLCAjYWJvdXQgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMywgI3NlcnZpY2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiwgI2Fib3V0IC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmdhbGxlcnksICNjb3Vyc2VzIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsLCAjc2VydmljZXMgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCwgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwsICNzZXJ2aWNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNlcnZpY2UtYm94LCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50cmVuZXItYm94LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnJldmVhbCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIsICNhYm91dCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSwgI3NlcnZpY2VzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50cmVuZXItYm94LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwudGl0bGUsIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS5xdW90ZS1ibG9jaywgLnJldmVhbCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCwgI3NlcnZpY2VzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02LCAjdHJlbmVycyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmFydGljbGUge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIsICNhYm91dCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuZ2FsbGVyeSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMywgI3NlcnZpY2VzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50cmVuZXItYm94LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiwgI2Fib3V0IC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5nYWxsZXJ5LCAjY291cnNlcyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGl0bGUtYm94IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCwgI3NlcnZpY2VzIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5zZXJ2aWNlLWJveCwgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY291cnNlLWJveCwgLnJldmVhbCAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC15ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXkgPiAuc2VydmljZS1ib3gsIC5ncmlkLXkgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLXkgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC15ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLXkgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC15ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQteSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC15ID4gLmFydGljbGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuYXV0bywgLmdyaWQteSA+IC5xdW90ZS1ibG9jayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IHNtYWxsLXNocmluaywgLmdyaWQteSA+IHNtYWxsLWZ1bGwsIC5ncmlkLXkgPiBzbWFsbC0xLCAuZ3JpZC15ID4gc21hbGwtMiwgLmdyaWQteSA+IHNtYWxsLTMsIC5ncmlkLXkgPiBzbWFsbC00LCAuZ3JpZC15ID4gc21hbGwtNSwgLmdyaWQteSA+IHNtYWxsLTYsIC5ncmlkLXkgPiBzbWFsbC03LCAuZ3JpZC15ID4gc21hbGwtOCwgLmdyaWQteSA+IHNtYWxsLTksIC5ncmlkLXkgPiBzbWFsbC0xMCwgLmdyaWQteSA+IHNtYWxsLTExLCAuZ3JpZC15ID4gc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gbWVkaXVtLXNocmluaywgLmdyaWQteSA+IG1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gbWVkaXVtLTEsIC5ncmlkLXkgPiBtZWRpdW0tMiwgLmdyaWQteSA+IG1lZGl1bS0zLCAuZ3JpZC15ID4gbWVkaXVtLTQsIC5ncmlkLXkgPiBtZWRpdW0tNSwgLmdyaWQteSA+IG1lZGl1bS02LCAuZ3JpZC15ID4gbWVkaXVtLTcsIC5ncmlkLXkgPiBtZWRpdW0tOCwgLmdyaWQteSA+IG1lZGl1bS05LCAuZ3JpZC15ID4gbWVkaXVtLTEwLCAuZ3JpZC15ID4gbWVkaXVtLTExLCAuZ3JpZC15ID4gbWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiBsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiBsYXJnZS1mdWxsLCAuZ3JpZC15ID4gbGFyZ2UtMSwgLmdyaWQteSA+IGxhcmdlLTIsIC5ncmlkLXkgPiBsYXJnZS0zLCAuZ3JpZC15ID4gbGFyZ2UtNCwgLmdyaWQteSA+IGxhcmdlLTUsIC5ncmlkLXkgPiBsYXJnZS02LCAuZ3JpZC15ID4gbGFyZ2UtNywgLmdyaWQteSA+IGxhcmdlLTgsIC5ncmlkLXkgPiBsYXJnZS05LCAuZ3JpZC15ID4gbGFyZ2UtMTAsIC5ncmlkLXkgPiBsYXJnZS0xMSwgLmdyaWQteSA+IGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiB4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IHhsYXJnZS0xLCAuZ3JpZC15ID4geGxhcmdlLTIsIC5ncmlkLXkgPiB4bGFyZ2UtMywgLmdyaWQteSA+IHhsYXJnZS00LCAuZ3JpZC15ID4geGxhcmdlLTUsIC5ncmlkLXkgPiB4bGFyZ2UtNiwgLmdyaWQteSA+IHhsYXJnZS03LCAuZ3JpZC15ID4geGxhcmdlLTgsIC5ncmlkLXkgPiB4bGFyZ2UtOSwgLmdyaWQteSA+IHhsYXJnZS0xMCwgLmdyaWQteSA+IHhsYXJnZS0xMSwgLmdyaWQteSA+IHhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiB4eGxhcmdlLXNocmluaywgLmdyaWQteSA+IHh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IHh4bGFyZ2UtMSwgLmdyaWQteSA+IHh4bGFyZ2UtMiwgLmdyaWQteSA+IHh4bGFyZ2UtMywgLmdyaWQteSA+IHh4bGFyZ2UtNCwgLmdyaWQteSA+IHh4bGFyZ2UtNSwgLmdyaWQteSA+IHh4bGFyZ2UtNiwgLmdyaWQteSA+IHh4bGFyZ2UtNywgLmdyaWQteSA+IHh4bGFyZ2UtOCwgLmdyaWQteSA+IHh4bGFyZ2UtOSwgLmdyaWQteSA+IHh4bGFyZ2UtMTAsIC5ncmlkLXkgPiB4eGxhcmdlLTExLCAuZ3JpZC15ID4geHhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyLCAjYWJvdXQgLmdyaWQteSA+IC5nYWxsZXJ5LCAjc2VydmljZXMgLmdyaWQteSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC15ID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAuZ3JpZC15ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQteSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC15ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQteSA+IC5jb3Vyc2UtYm94LCAuZ3JpZC15ID4gLmNlbGwudGl0bGUsIC5ncmlkLXkgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5yZXZlYWwgLmdyaWQteSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC15ID4gLmFydGljbGUge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQsICNzZXJ2aWNlcyAuZ3JpZC15ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXkgPiAuc2VydmljZS1ib3gge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiwgI3RyZW5lcnMgLmdyaWQteSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLXkgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQteSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXkgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAuZ3JpZC15ID4gLmFydGljbGUge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIsICNhYm91dCAuZ3JpZC15ID4gLmdhbGxlcnkge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8sIC5yZXZlYWwgLmdyaWQteSA+IC5pbWFnZSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMsICNzZXJ2aWNlcyAuZ3JpZC15ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLXkgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzIC5ncmlkLXkgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC15ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLXkgPiAuY291cnNlLWJveCwgI2FydGljbGUtbGlzdCAuZ3JpZC15ID4gLmFydGljbGUge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYsICNhYm91dCAuZ3JpZC15ID4gLmdhbGxlcnksICNjb3Vyc2VzIC5ncmlkLXkgPiAudGl0bGUtYm94IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXksIC5jZWxsLnRpdGxlIC5ncmlkLXBhZGRpbmcteSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLmdyaWQtcGFkZGluZy15LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5ncmlkLXBhZGRpbmcteSwgLnRpdGxlLnF1b3RlLWJsb2NrIC5ncmlkLXBhZGRpbmcteSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAuZ3JpZC1wYWRkaW5nLXksICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5ncmlkLXBhZGRpbmcteSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAuZ3JpZC1wYWRkaW5nLXksICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5ncmlkLXBhZGRpbmcteSwgLnJldmVhbCAudGl0bGUuaW1hZ2UgLmdyaWQtcGFkZGluZy15LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5ncmlkLXBhZGRpbmcteSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5ncmlkLXBhZGRpbmcteSwgLmdyaWQtcGFkZGluZy15IC5jZWxsLnRpdGxlLCAuY2VsbC50aXRsZSAuY2VsbC50aXRsZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLmNlbGwudGl0bGUsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLmNlbGwudGl0bGUsIC50aXRsZS5xdW90ZS1ibG9jayAuY2VsbC50aXRsZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAuY2VsbC50aXRsZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLmNlbGwudGl0bGUsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmNlbGwudGl0bGUsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5jZWxsLnRpdGxlLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAuY2VsbC50aXRsZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAuY2VsbC50aXRsZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5jZWxsLnRpdGxlLCAuZ3JpZC1wYWRkaW5nLXkgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy15ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnNlcnZpY2UtYm94LCAuY2VsbC50aXRsZSAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmNlbGwudGl0bGUgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuc2VydmljZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5zZXJ2aWNlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUuc2VydmljZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5zZXJ2aWNlLWJveCwgLmdyaWQtcGFkZGluZy15IC50aXRsZS5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnF1b3RlLWJsb2NrLCAuZ3JpZC1wYWRkaW5nLXkgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15IC50aXRsZS50aXRsZS1ib3gsIC5jZWxsLnRpdGxlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5jZWxsLnRpdGxlIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudGl0bGUtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS50aXRsZS1ib3gsIC5ncmlkLXBhZGRpbmcteSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15IC50aXRsZS50cmVuZXItYm94LCAuY2VsbC50aXRsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmNlbGwudGl0bGUgLnRpdGxlLnRyZW5lci1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudHJlbmVyLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudHJlbmVyLWJveCwgLnRpdGxlLnF1b3RlLWJsb2NrICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudHJlbmVyLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudHJlbmVyLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRyZW5lci1ib3gsIC5ncmlkLXBhZGRpbmcteSAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNlbGwudGl0bGUgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy15ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLmNvdXJzZS1ib3gsIC5jZWxsLnRpdGxlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSAudGl0bGUuY291cnNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuY291cnNlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuY291cnNlLWJveCwgLmdyaWQtcGFkZGluZy15IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteSAudGl0bGUuaW1hZ2UsIC5jZWxsLnRpdGxlIC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC50aXRsZS5pbWFnZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLmltYWdlLCAudGl0bGUucXVvdGUtYmxvY2sgLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5pbWFnZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5pbWFnZSwgLmdyaWQtcGFkZGluZy15ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmdyaWQtcGFkZGluZy15IC50aXRsZS5hcnRpY2xlLCAuY2VsbC50aXRsZSAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5jZWxsLnRpdGxlIC50aXRsZS5hcnRpY2xlLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5hcnRpY2xlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUuYXJ0aWNsZSwgLnRpdGxlLnF1b3RlLWJsb2NrICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5hcnRpY2xlLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuYXJ0aWNsZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAudGl0bGUuYXJ0aWNsZSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmFydGljbGUsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLmFydGljbGUsIC5yZXZlYWwgLnRpdGxlLmltYWdlICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLmFydGljbGUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuYXJ0aWNsZSwgLmdyaWQtcGFkZGluZy15IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuZ3JpZC1wYWRkaW5nLXkgLmNvbnRlbnQtd3JhcHBlciwgLmNlbGwudGl0bGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC5jb250ZW50LXdyYXBwZXIsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAuY29udGVudC13cmFwcGVyLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC50aXRsZS5xdW90ZS1ibG9jayAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC5jb250ZW50LXdyYXBwZXIsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5jb250ZW50LXdyYXBwZXIsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5jb250ZW50LXdyYXBwZXIsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5jb250ZW50LXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXksIC5jZWxsLnRpdGxlIC5ncmlkLXBhZGRpbmcteSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLmdyaWQtcGFkZGluZy15LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5ncmlkLXBhZGRpbmcteSwgLnRpdGxlLnF1b3RlLWJsb2NrIC5ncmlkLXBhZGRpbmcteSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAuZ3JpZC1wYWRkaW5nLXksICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5ncmlkLXBhZGRpbmcteSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAuZ3JpZC1wYWRkaW5nLXksICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5ncmlkLXBhZGRpbmcteSwgLnJldmVhbCAudGl0bGUuaW1hZ2UgLmdyaWQtcGFkZGluZy15LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC5ncmlkLXBhZGRpbmcteSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5ncmlkLXBhZGRpbmcteSwgLmdyaWQtcGFkZGluZy15IC5jZWxsLnRpdGxlLCAuY2VsbC50aXRsZSAuY2VsbC50aXRsZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLmNlbGwudGl0bGUsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLmNlbGwudGl0bGUsIC50aXRsZS5xdW90ZS1ibG9jayAuY2VsbC50aXRsZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAuY2VsbC50aXRsZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLmNlbGwudGl0bGUsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmNlbGwudGl0bGUsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5jZWxsLnRpdGxlLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAuY2VsbC50aXRsZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAuY2VsbC50aXRsZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5jZWxsLnRpdGxlLCAuZ3JpZC1wYWRkaW5nLXkgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy15ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnNlcnZpY2UtYm94LCAuY2VsbC50aXRsZSAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmNlbGwudGl0bGUgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuc2VydmljZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnNlcnZpY2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS5zZXJ2aWNlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5zZXJ2aWNlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUuc2VydmljZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5zZXJ2aWNlLWJveCwgLmdyaWQtcGFkZGluZy15IC50aXRsZS5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnF1b3RlLWJsb2NrLCAuZ3JpZC1wYWRkaW5nLXkgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15IC50aXRsZS50aXRsZS1ib3gsIC5jZWxsLnRpdGxlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5jZWxsLnRpdGxlIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudGl0bGUtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudGl0bGUtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS50aXRsZS1ib3gsIC5ncmlkLXBhZGRpbmcteSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15IC50aXRsZS50cmVuZXItYm94LCAuY2VsbC50aXRsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgLmNlbGwudGl0bGUgLnRpdGxlLnRyZW5lci1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUudHJlbmVyLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUudHJlbmVyLWJveCwgLnRpdGxlLnF1b3RlLWJsb2NrICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50cmVuZXItYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRyZW5lci1ib3gsIC5yZXZlYWwgLnRpdGxlLmltYWdlICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSAudGl0bGUudHJlbmVyLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAudGl0bGUudHJlbmVyLWJveCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRyZW5lci1ib3gsIC5ncmlkLXBhZGRpbmcteSAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLnRpdGxlLWJveCwgLmNlbGwudGl0bGUgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNlbGwudGl0bGUgLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS50aXRsZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jayAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUucXVvdGUtYmxvY2sgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLnRpdGxlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS50aXRsZS1ib3gsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjY291cnNlcyAudGl0bGUudGl0bGUtYm94LCAjY291cnNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgLnRpdGxlLnRpdGxlLWJveCwgLmdyaWQtcGFkZGluZy15ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgLnRpdGxlLmNvdXJzZS1ib3gsIC5jZWxsLnRpdGxlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSAudGl0bGUuY291cnNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAudGl0bGUucXVvdGUtYmxvY2sgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuY291cnNlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuY291cnNlLWJveCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuY291cnNlLWJveCwgLmdyaWQtcGFkZGluZy15IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteSAudGl0bGUuaW1hZ2UsIC5jZWxsLnRpdGxlIC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC50aXRsZS5pbWFnZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggLnRpdGxlLmltYWdlLCAudGl0bGUucXVvdGUtYmxvY2sgLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5pbWFnZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLnRpdGxlLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmltYWdlLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCAudGl0bGUuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC50aXRsZS5pbWFnZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSAucmV2ZWFsIC50aXRsZS5pbWFnZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlIC50aXRsZS5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC50aXRsZS5pbWFnZSwgLmdyaWQtcGFkZGluZy15ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmdyaWQtcGFkZGluZy15IC50aXRsZS5hcnRpY2xlLCAuY2VsbC50aXRsZSAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5jZWxsLnRpdGxlIC50aXRsZS5hcnRpY2xlLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC50aXRsZS5hcnRpY2xlLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCAudGl0bGUuYXJ0aWNsZSwgLnRpdGxlLnF1b3RlLWJsb2NrICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLnF1b3RlLWJsb2NrIC50aXRsZS5hcnRpY2xlLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCAudGl0bGUuYXJ0aWNsZSwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCAudGl0bGUuYXJ0aWNsZSwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnRpdGxlLmFydGljbGUsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnRpdGxlLmFydGljbGUsIC5yZXZlYWwgLnRpdGxlLmltYWdlICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAudGl0bGUuaW1hZ2UgLnRpdGxlLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnRpdGxlLmFydGljbGUsIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciAudGl0bGUuYXJ0aWNsZSwgLmdyaWQtcGFkZGluZy15IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuZ3JpZC1wYWRkaW5nLXkgLmNvbnRlbnQtd3JhcHBlciwgLmNlbGwudGl0bGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsIC5jZWxsLnRpdGxlIC5jb250ZW50LXdyYXBwZXIsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCAuY29udGVudC13cmFwcGVyLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC50aXRsZS5xdW90ZS1ibG9jayAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrIC5jb250ZW50LXdyYXBwZXIsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94IC5jb250ZW50LXdyYXBwZXIsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggLmNvbnRlbnQtd3JhcHBlciwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94IC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgLnRpdGxlLmltYWdlIC5jb250ZW50LXdyYXBwZXIsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucmV2ZWFsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgLmNvbnRlbnQtd3JhcHBlciwgLnJldmVhbCAuY29udGVudC13cmFwcGVyIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCwgLmNlbGwudGl0bGUgPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY2VsbCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5jZWxsLCAudGl0bGUucXVvdGUtYmxvY2sgPiAuY2VsbCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jZWxsLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jZWxsLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNlbGwsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNlbGwsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNlbGwsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuY2VsbCwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmNlbGwudGl0bGUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgLnJldmVhbCAjc2VydmljZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtcGFkZGluZy15ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLmNlbGwudGl0bGUgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAuc2VydmljZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudHJlbmVyLWJveCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnNlcnZpY2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuY291cnNlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnNlcnZpY2UtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuaW1hZ2UgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC5zZXJ2aWNlLWJveCwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLmFydGljbGUgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLnNlcnZpY2UtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudC13cmFwcGVyID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnNlcnZpY2UtYm94LCAuZ3JpZC1wYWRkaW5nLXkgPiAucXVvdGUtYmxvY2ssIC5jZWxsLnRpdGxlID4gLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5xdW90ZS1ibG9jaywgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5xdW90ZS1ibG9jaywgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5xdW90ZS1ibG9jaywgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAucXVvdGUtYmxvY2ssIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnF1b3RlLWJsb2NrLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLXBhZGRpbmcteSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5jZWxsLnRpdGxlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUuc2VydmljZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5jZWxsLnRpdGxlID4gLnRyZW5lci1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUuc2VydmljZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUucXVvdGUtYmxvY2sgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50cmVuZXItYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudHJlbmVyLWJveCwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUuaW1hZ2UgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudHJlbmVyLWJveCwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUuYXJ0aWNsZSA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLnRyZW5lci1ib3gsIC5yZXZlYWwgI3RyZW5lcnMgLmNvbnRlbnQtd3JhcHBlciA+IC50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtcGFkZGluZy15ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmNlbGwudGl0bGUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUucXVvdGUtYmxvY2sgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50cmVuZXItYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS5pbWFnZSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAjY291cnNlcyAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjY291cnNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLmNlbGwudGl0bGUgPiAuY291cnNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI3NlcnZpY2VzICNjb3Vyc2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC5jb3Vyc2UtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS5pbWFnZSA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5hcnRpY2xlID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuY291cnNlLWJveCwgLnJldmVhbCAjY291cnNlcyAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLXBhZGRpbmcteSA+IC5pbWFnZSwgLnJldmVhbCAuY2VsbC50aXRsZSA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmltYWdlLCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI3RyZW5lcnMgLnJldmVhbCAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5pbWFnZSwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAucmV2ZWFsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLnRpdGxlLmFydGljbGUgPiAuaW1hZ2UsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5pbWFnZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLXBhZGRpbmcteSA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5jZWxsLnRpdGxlID4gLmFydGljbGUsICNzZXJ2aWNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjc2VydmljZXMgI2FydGljbGUtbGlzdCAudGl0bGUuc2VydmljZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmFydGljbGUsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUudHJlbmVyLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLmFydGljbGUsICNjb3Vyc2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuYXJ0aWNsZSwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuY291cnNlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAudGl0bGUuaW1hZ2UgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLmFydGljbGUsIC5yZXZlYWwgI2FydGljbGUtbGlzdCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmFydGljbGUge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsLCAuY2VsbC50aXRsZSA+IC5jZWxsLCAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jZWxsLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmNlbGwsIC50aXRsZS5xdW90ZS1ibG9jayA+IC5jZWxsLCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLmNlbGwsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLmNlbGwsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY2VsbCwgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuY2VsbCwgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAuY2VsbCwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5jZWxsLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuY2VsbCwgI3NlcnZpY2VzIC5ncmlkLXBhZGRpbmcteSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgPiAudGl0bGUtYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50cmVuZXItYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5pbWFnZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC50aXRsZS1ib3gsICNhcnRpY2xlLWxpc3QgI3NlcnZpY2VzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAucmV2ZWFsICNzZXJ2aWNlcyAuY29udGVudC13cmFwcGVyID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1wYWRkaW5nLXkgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAuY2VsbC50aXRsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUucXVvdGUtYmxvY2sgPiAuc2VydmljZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50cmVuZXItYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAuc2VydmljZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5zZXJ2aWNlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnNlcnZpY2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5pbWFnZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnNlcnZpY2UtYm94LCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuYXJ0aWNsZSA+IC5zZXJ2aWNlLWJveCwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuc2VydmljZS1ib3gsIC5yZXZlYWwgI3NlcnZpY2VzIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsICNzZXJ2aWNlcyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuc2VydmljZS1ib3gsIC5ncmlkLXBhZGRpbmcteSA+IC5xdW90ZS1ibG9jaywgLmNlbGwudGl0bGUgPiAucXVvdGUtYmxvY2ssICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnF1b3RlLWJsb2NrLCAudGl0bGUucXVvdGUtYmxvY2sgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnF1b3RlLWJsb2NrLCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5xdW90ZS1ibG9jaywgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAucXVvdGUtYmxvY2ssIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLmdyaWQtcGFkZGluZy15ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmNlbGwudGl0bGUgPiAudGl0bGUtYm94LCAjc2VydmljZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUucXVvdGUtYmxvY2sgPiAudGl0bGUtYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS5jb3Vyc2UtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS5pbWFnZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2FydGljbGUtbGlzdCAjdHJlbmVycyAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAudGl0bGUtYm94LCAucmV2ZWFsICN0cmVuZXJzIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1wYWRkaW5nLXkgPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgLmNlbGwudGl0bGUgPiAudHJlbmVyLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI3NlcnZpY2VzICN0cmVuZXJzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjc2VydmljZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50cmVuZXItYm94LCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzICN0cmVuZXJzIC50aXRsZS50aXRsZS1ib3ggPiAudHJlbmVyLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC50cmVuZXItYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUuY291cnNlLWJveCA+IC50cmVuZXItYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50cmVuZXItYm94LCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS5pbWFnZSA+IC50cmVuZXItYm94LCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS5pbWFnZSA+IC50cmVuZXItYm94LCAjYXJ0aWNsZS1saXN0ICN0cmVuZXJzIC50aXRsZS5hcnRpY2xlID4gLnRyZW5lci1ib3gsICN0cmVuZXJzICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAudHJlbmVyLWJveCwgLnJldmVhbCAjdHJlbmVycyAuY29udGVudC13cmFwcGVyID4gLnRyZW5lci1ib3gsICN0cmVuZXJzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1wYWRkaW5nLXkgPiAudGl0bGUtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5xdW90ZS1ibG9jayA+IC50aXRsZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgI2NvdXJzZXMgLnRpdGxlLnRyZW5lci1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAudGl0bGUtYm94LCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAudGl0bGUtYm94LCAjYXJ0aWNsZS1saXN0ICNjb3Vyc2VzIC50aXRsZS5hcnRpY2xlID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC50aXRsZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLXBhZGRpbmcteSA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAuY2VsbC50aXRsZSA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjc2VydmljZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjc2VydmljZXMgI2NvdXJzZXMgLnRpdGxlLnNlcnZpY2UtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnRpdGxlLnF1b3RlLWJsb2NrID4gLmNvdXJzZS1ib3gsICN0cmVuZXJzICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3ggPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5jb3Vyc2UtYm94LCAjdHJlbmVycyAjY291cnNlcyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAjdHJlbmVycyAudGl0bGUudHJlbmVyLWJveCA+IC5jb3Vyc2UtYm94LCAjY291cnNlcyAudGl0bGUudGl0bGUtYm94ID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94ID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNjb3Vyc2VzIC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmNvdXJzZS1ib3gsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmFydGljbGUgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsICNjb3Vyc2VzIC5jb250ZW50LXdyYXBwZXIgPiAuY291cnNlLWJveCwgI2NvdXJzZXMgLnJldmVhbCAuY29udGVudC13cmFwcGVyID4gLmNvdXJzZS1ib3gsIC5yZXZlYWwgLmdyaWQtcGFkZGluZy15ID4gLmltYWdlLCAucmV2ZWFsIC5jZWxsLnRpdGxlID4gLmltYWdlLCAjc2VydmljZXMgLnJldmVhbCAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAucmV2ZWFsICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAjc2VydmljZXMgLnJldmVhbCAudGl0bGUuc2VydmljZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI3NlcnZpY2VzIC50aXRsZS5zZXJ2aWNlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAudGl0bGUucXVvdGUtYmxvY2sgPiAuaW1hZ2UsICN0cmVuZXJzIC5yZXZlYWwgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjdHJlbmVycyAudGl0bGUudGl0bGUtYm94ID4gLmltYWdlLCAjdHJlbmVycyAucmV2ZWFsIC50aXRsZS50cmVuZXItYm94ID4gLmltYWdlLCAucmV2ZWFsICN0cmVuZXJzIC50aXRsZS50cmVuZXItYm94ID4gLmltYWdlLCAjY291cnNlcyAucmV2ZWFsIC50aXRsZS50aXRsZS1ib3ggPiAuaW1hZ2UsIC5yZXZlYWwgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5pbWFnZSwgI2NvdXJzZXMgLnJldmVhbCAudGl0bGUuY291cnNlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAjY291cnNlcyAudGl0bGUuY291cnNlLWJveCA+IC5pbWFnZSwgLnJldmVhbCAudGl0bGUuaW1hZ2UgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLnJldmVhbCAudGl0bGUuYXJ0aWNsZSA+IC5pbWFnZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5hcnRpY2xlID4gLmltYWdlLCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtcGFkZGluZy15ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLmNlbGwudGl0bGUgPiAuYXJ0aWNsZSwgI3NlcnZpY2VzICNhcnRpY2xlLWxpc3QgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNzZXJ2aWNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5zZXJ2aWNlLWJveCA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0ICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3ggPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAudGl0bGUucXVvdGUtYmxvY2sgPiAuYXJ0aWNsZSwgI3RyZW5lcnMgI2FydGljbGUtbGlzdCAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjdHJlbmVycyAjYXJ0aWNsZS1saXN0IC50aXRsZS50cmVuZXItYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3ggPiAuYXJ0aWNsZSwgI2NvdXJzZXMgI2FydGljbGUtbGlzdCAudGl0bGUudGl0bGUtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLnRpdGxlLWJveCA+IC5hcnRpY2xlLCAjY291cnNlcyAjYXJ0aWNsZS1saXN0IC50aXRsZS5jb3Vyc2UtYm94ID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgI2NvdXJzZXMgLnRpdGxlLmNvdXJzZS1ib3ggPiAuYXJ0aWNsZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC50aXRsZS5pbWFnZSA+IC5hcnRpY2xlLCAjYXJ0aWNsZS1saXN0IC5yZXZlYWwgLnRpdGxlLmltYWdlID4gLmFydGljbGUsICNhcnRpY2xlLWxpc3QgLnRpdGxlLmFydGljbGUgPiAuYXJ0aWNsZSwgLnJldmVhbCAjYXJ0aWNsZS1saXN0IC5jb250ZW50LXdyYXBwZXIgPiAuYXJ0aWNsZSwgI2FydGljbGUtbGlzdCAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIgPiAuYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC5zZXJ2aWNlLWJveCwgLmdyaWQtbWFyZ2luLXkgPiAucXVvdGUtYmxvY2ssICN0cmVuZXJzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXkgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teSA+IC5jb3Vyc2UtYm94LCAucmV2ZWFsIC5ncmlkLW1hcmdpbi15ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi15ID4gLmFydGljbGUge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsLCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUtYm94LCAjc2VydmljZXMgLmdyaWQtbWFyZ2luLXkgPiAuc2VydmljZS1ib3gsIC5ncmlkLW1hcmdpbi15ID4gLnF1b3RlLWJsb2NrLCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi15ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXkgPiAuY291cnNlLWJveCwgLnJldmVhbCAuZ3JpZC1tYXJnaW4teSA+IC5pbWFnZSwgI2FydGljbGUtbGlzdCAuZ3JpZC1tYXJnaW4teSA+IC5hcnRpY2xlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0bywgLmdyaWQtbWFyZ2luLXkgPiAucXVvdGUtYmxvY2sge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiwgI2Fib3V0IC5ncmlkLW1hcmdpbi15ID4gLmdhbGxlcnksICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi15ID4gLmNvdXJzZS1ib3gsIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwudGl0bGUsIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLnF1b3RlLWJsb2NrLCAucmV2ZWFsIC5ncmlkLW1hcmdpbi15ID4gLmltYWdlLCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi15ID4gLmFydGljbGUge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvLCAuZ3JpZC1tYXJnaW4teSA+IC5xdW90ZS1ibG9jayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyLCAjYWJvdXQgLmdyaWQtbWFyZ2luLXkgPiAuZ2FsbGVyeSwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi15ID4gLnNlcnZpY2UtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi15ID4gLnRyZW5lci1ib3gsICNjb3Vyc2VzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXkgPiAuY291cnNlLWJveCwgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbC50aXRsZSwgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUucXVvdGUtYmxvY2ssIC5yZXZlYWwgLmdyaWQtbWFyZ2luLXkgPiAuaW1hZ2UsICNhcnRpY2xlLWxpc3QgLmdyaWQtbWFyZ2luLXkgPiAuYXJ0aWNsZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI3NlcnZpY2VzIC5ncmlkLW1hcmdpbi15ID4gLnNlcnZpY2UtYm94IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYsICN0cmVuZXJzIC5ncmlkLW1hcmdpbi15ID4gLnRpdGxlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXkgPiAudHJlbmVyLWJveCwgI2NvdXJzZXMgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUtYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teSA+IC5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi15ID4gLmFydGljbGUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIsICNhYm91dCAuZ3JpZC1tYXJnaW4teSA+IC5nYWxsZXJ5IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvLCAucmV2ZWFsIC5ncmlkLW1hcmdpbi15ID4gLmltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gsICNzZXJ2aWNlcyAuZ3JpZC1tYXJnaW4teSA+IC5zZXJ2aWNlLWJveCwgI3RyZW5lcnMgLmdyaWQtbWFyZ2luLXkgPiAudGl0bGUtYm94LCAjdHJlbmVycyAuZ3JpZC1tYXJnaW4teSA+IC50cmVuZXItYm94LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teSA+IC5jb3Vyc2UtYm94LCAjYXJ0aWNsZS1saXN0IC5ncmlkLW1hcmdpbi15ID4gLmFydGljbGUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYsICNhYm91dCAuZ3JpZC1tYXJnaW4teSA+IC5nYWxsZXJ5LCAjY291cnNlcyAuZ3JpZC1tYXJnaW4teSA+IC50aXRsZS1ib3gge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC50aXRsZS1ib3ggLmdyaWQtZnJhbWUsICNzZXJ2aWNlcyAuc2VydmljZS1ib3ggLmdyaWQtZnJhbWUsIC5xdW90ZS1ibG9jayAuZ3JpZC1mcmFtZSwgI3RyZW5lcnMgLnRpdGxlLWJveCAuZ3JpZC1mcmFtZSwgI3RyZW5lcnMgLnRyZW5lci1ib3ggLmdyaWQtZnJhbWUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmdyaWQtZnJhbWUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5ncmlkLWZyYW1lLCAucmV2ZWFsIC5pbWFnZSAuZ3JpZC1mcmFtZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCwgLmNlbGwtYmxvY2stY29udGFpbmVyID4gI2Fib3V0LCAuYmxvY2sgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNzZXJ2aWNlcywgLmNlbGwtYmxvY2stY29udGFpbmVyID4gI3RyZW5lcnMsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNjb3Vyc2VzLCAjY291cnNlcyAudGl0bGUtYm94IC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAjY291cnNlcyAuY291cnNlLWJveCAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgI3RvdXIgLm1lZGlhIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAucmV2ZWFsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAucmV2ZWFsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LXdyYXBwZXIsIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5wcmljZS1saXN0cyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUsICNzZXJ2aWNlcyAudGl0bGUtYm94IC5tZWRpdW0tZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC5zZXJ2aWNlLWJveCAubWVkaXVtLWdyaWQtZnJhbWUsIC5xdW90ZS1ibG9jayAubWVkaXVtLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50aXRsZS1ib3ggLm1lZGl1bS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudHJlbmVyLWJveCAubWVkaXVtLWdyaWQtZnJhbWUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLm1lZGl1bS1ncmlkLWZyYW1lLCAjY291cnNlcyAuY291cnNlLWJveCAubWVkaXVtLWdyaWQtZnJhbWUsIC5yZXZlYWwgLmltYWdlIC5tZWRpdW0tZ3JpZC1mcmFtZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgsIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAjYWJvdXQsIC5ibG9jayAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAjc2VydmljZXMsIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAjdHJlbmVycywgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNjb3Vyc2VzLCAjY291cnNlcyAudGl0bGUtYm94IC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAjdG91ciAubWVkaWEgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAucmV2ZWFsIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgLnJldmVhbCAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQtd3JhcHBlciwgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5wcmljZS1saXN0cyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnRpdGxlLWJveCAubGFyZ2UtZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC5zZXJ2aWNlLWJveCAubGFyZ2UtZ3JpZC1mcmFtZSwgLnF1b3RlLWJsb2NrIC5sYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudGl0bGUtYm94IC5sYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudHJlbmVyLWJveCAubGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLnRpdGxlLWJveCAubGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmxhcmdlLWdyaWQtZnJhbWUsIC5yZXZlYWwgLmltYWdlIC5sYXJnZS1ncmlkLWZyYW1lLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14LCAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAjYWJvdXQsIC5ibG9jayAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gI3NlcnZpY2VzLCAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAjdHJlbmVycywgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gI2NvdXJzZXMsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAjdG91ciAubWVkaWEgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC5yZXZlYWwgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC5yZXZlYWwgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQtd3JhcHBlciwgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLnByaWNlLWxpc3RzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUsICNzZXJ2aWNlcyAudGl0bGUtYm94IC54bGFyZ2UtZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC5zZXJ2aWNlLWJveCAueGxhcmdlLWdyaWQtZnJhbWUsIC5xdW90ZS1ibG9jayAueGxhcmdlLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50aXRsZS1ib3ggLnhsYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudHJlbmVyLWJveCAueGxhcmdlLWdyaWQtZnJhbWUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLnhsYXJnZS1ncmlkLWZyYW1lLCAjY291cnNlcyAuY291cnNlLWJveCAueGxhcmdlLWdyaWQtZnJhbWUsIC5yZXZlYWwgLmltYWdlIC54bGFyZ2UtZ3JpZC1mcmFtZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgsIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAjYWJvdXQsIC5ibG9jayAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAjc2VydmljZXMsIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAjdHJlbmVycywgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNjb3Vyc2VzLCAjY291cnNlcyAudGl0bGUtYm94IC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAjdG91ciAubWVkaWEgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAucmV2ZWFsIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudCwgLnJldmVhbCAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQtd3JhcHBlciwgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5wcmljZS1saXN0cyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnRpdGxlLWJveCAueHhsYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnNlcnZpY2UtYm94IC54eGxhcmdlLWdyaWQtZnJhbWUsIC5xdW90ZS1ibG9jayAueHhsYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudGl0bGUtYm94IC54eGxhcmdlLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50cmVuZXItYm94IC54eGxhcmdlLWdyaWQtZnJhbWUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLnh4bGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLnh4bGFyZ2UtZ3JpZC1mcmFtZSwgLnJldmVhbCAuaW1hZ2UgLnh4bGFyZ2UtZ3JpZC1mcmFtZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14LCAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNhYm91dCwgLmJsb2NrIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gI3NlcnZpY2VzLCAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICN0cmVuZXJzLCAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+ICNjb3Vyc2VzLCAjY291cnNlcyAudGl0bGUtYm94IC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsICN0b3VyIC5tZWRpYSAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5jb250ZW50LCAucmV2ZWFsIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmNvbnRlbnQsIC5yZXZlYWwgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuY29udGVudC13cmFwcGVyLCAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5wcmljZS1saXN0cyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lLCAjc2VydmljZXMgLnRpdGxlLWJveCAuZ3JpZC15LmdyaWQtZnJhbWUsICNzZXJ2aWNlcyAuc2VydmljZS1ib3ggLmdyaWQteS5ncmlkLWZyYW1lLCAucXVvdGUtYmxvY2sgLmdyaWQteS5ncmlkLWZyYW1lLCAjdHJlbmVycyAudGl0bGUtYm94IC5ncmlkLXkuZ3JpZC1mcmFtZSwgI3RyZW5lcnMgLnRyZW5lci1ib3ggLmdyaWQteS5ncmlkLWZyYW1lLCAjY291cnNlcyAudGl0bGUtYm94IC5ncmlkLXkuZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmdyaWQteS5ncmlkLWZyYW1lLCAucmV2ZWFsIC5pbWFnZSAuZ3JpZC15LmdyaWQtZnJhbWUsICNhcnRpY2xlLWxpc3QgLmFydGljbGUgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUsICNzZXJ2aWNlcyAudGl0bGUtYm94IC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUsICNzZXJ2aWNlcyAuc2VydmljZS1ib3ggLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSwgLnF1b3RlLWJsb2NrIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50aXRsZS1ib3ggLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSwgI3RyZW5lcnMgLnRyZW5lci1ib3ggLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCAjY291cnNlcyAuY291cnNlLWJveCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCAucmV2ZWFsIC5pbWFnZSAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC50aXRsZS1ib3ggLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnNlcnZpY2UtYm94IC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgLnF1b3RlLWJsb2NrIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgI3RyZW5lcnMgLnRpdGxlLWJveCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50cmVuZXItYm94IC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSwgLnJldmVhbCAuaW1hZ2UgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnRpdGxlLWJveCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnNlcnZpY2UtYm94IC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUsIC5xdW90ZS1ibG9jayAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudGl0bGUtYm94IC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUsICN0cmVuZXJzIC50cmVuZXItYm94IC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUsICNjb3Vyc2VzIC50aXRsZS1ib3ggLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSwgLnJldmVhbCAuaW1hZ2UgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSwgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lLCAjc2VydmljZXMgLnRpdGxlLWJveCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSwgI3NlcnZpY2VzIC5zZXJ2aWNlLWJveCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSwgLnF1b3RlLWJsb2NrIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudGl0bGUtYm94IC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lLCAjdHJlbmVycyAudHJlbmVyLWJveCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLnRpdGxlLWJveCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUsIC5yZXZlYWwgLmltYWdlIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlpla3RvblwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLFxuICBoMiBzbWFsbCxcbiAgaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBoNSBzbWFsbCxcbiAgaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICM2Y2NjMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNWRhZjAwOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMzZDNmNDE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjM2QzZjQxOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMzZDNmNDE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIsICNhYm91dCAuY29udGVudC13cmFwcGVyLCAuY2VsbC50aXRsZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSwgLnJldmVhbCAuY29udGVudC13cmFwcGVyLCAucHJpY2UtbGlzdHMgLnByaWNlcyAubGlzdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYWQwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDtcbiAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NmEzMDA7XG4gICAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUxZTFlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDtcbiAgICAgICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZjY2MwMDtcbiAgICBjb2xvcjogIzZjY2MwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM2NjYwMDtcbiAgICAgIGNvbG9yOiAjMzY2NjAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZjY2MwMDtcbiAgICAgICAgY29sb3I6ICM2Y2NjMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Y2NjMDA7XG4gICAgICBjb2xvcjogIzZjY2MwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM2NjYwMDtcbiAgICAgICAgY29sb3I6ICMzNjY2MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmNjYzAwO1xuICAgICAgICAgIGNvbG9yOiAjNmNjYzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNjI2MjY7XG4gICAgICBjb2xvcjogIzI2MjYyNjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMzEzMTM7XG4gICAgICAgIGNvbG9yOiAjMTMxMzEzOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjYyNjI2O1xuICAgICAgICAgIGNvbG9yOiAjMjYyNjI2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmNjYzAwO1xuICAgIGNvbG9yOiAjNmNjYzAwOyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzM2NjYwMDtcbiAgICAgIGNvbG9yOiAjMzY2NjAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmNjYzAwO1xuICAgICAgICBjb2xvcjogIzZjY2MwMDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNmNjYzAwO1xuICAgICAgY29sb3I6ICM2Y2NjMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzY2NjAwO1xuICAgICAgICBjb2xvcjogIzM2NjYwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZjY2MwMDtcbiAgICAgICAgICBjb2xvcjogIzZjY2MwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjYyNjI2O1xuICAgICAgY29sb3I6ICMyNjI2MjY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEzMTMxMztcbiAgICAgICAgY29sb3I6ICMxMzEzMTM7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI2MjYyNjtcbiAgICAgICAgICBjb2xvcjogIzI2MjYyNjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNmNjYzAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNmNjYzAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNjI2MjY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSg2MSwgNjMsIDY1LCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNkM2Y0MTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMzZDNmNDE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzNkM2Y0MTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjM2QzZjQxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzZDNmNDE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNmNjYzAwOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzZjY2MwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmNjYzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICM2Y2NjMDA7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNmNjYzAwO1xuICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzNkM2Y0MTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzZjY2MwMDsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU2YTMwMDtcbiAgICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTFlMWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYxLCA2MywgNjUsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMxOTE5MTk7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmZmQxO1xuICAgIGNvbG9yOiAjMTkxOTE5OyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICBjb2xvcjogIzE5MTkxOTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjMTkxOTE5OyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMxOTE5MTk7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMxOTE5MTk7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzZjY2MwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzZjY2MwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjM2QzZjQxO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzNkM2Y0MSwgMCAxNHB4IDAgIzNkM2Y0MTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNmNjYzAwOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzZjY2MwMDsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNmNjYzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzZjY2MwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxOTE5O1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzZjY2MwMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjNmNjYzAwO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzZjY2MwMDtcbiAgICBjb2xvcjogIzNkM2Y0MTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNjI2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoNjEsIDYzLCA2NSwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSg2MSwgNjMsIDY1LCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoNjEsIDYzLCA2NSwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoNjEsIDYzLCA2NSwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoNjEsIDYzLCA2NSwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDYxLCA2MywgNjUsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogaW5oZXJpdDsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDYzLCA2NSwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDYzLCA2NSwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzZjY2MwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2FkMDA7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2MywgNjUsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmNjYzAwOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuMjVyZW07XG4gICAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRib2R5LFxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMywgMTMsIDEzLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMCk7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIHRhYmxlIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAxMywgMTMsIDApO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICB0YWJsZSB0aGVhZCB0cixcbiAgdGFibGUgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRhYmxlIHRoZWFkIHRoLFxuICB0YWJsZSB0aGVhZCB0ZCxcbiAgdGFibGUgdGZvb3QgdGgsXG4gIHRhYmxlIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZSB0Ym9keSB0aCxcbiAgdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTMsIDEzLCAwKTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMywgMTMsIDEzLCAwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMSwgMSwgMCk7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgsIDgsIDgsIDApOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNmNjYzAwOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjM2QzZjQxOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzRkYjAwOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM2Y2NjMDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjNWRhZjAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzZjY2MwMDsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDYxLCA2MywgNjUsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTA4LCAyMDQsIDAsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzNkM2Y0MTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2QzZjQxO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2QzZjQxO1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzZDNmNDEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2QzZjQxO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM2QzZjQxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBjbGlwLXBhdGg6IG5vbmU7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlLCAucmV2ZWFsIC5jb250ZW50IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSwgLmJsb2NrIC5jb250ZW50LCAucXVvdGUtYmxvY2ssICNjb3Vyc2VzIC50aXRsZS1ib3ggLmNvbnRlbnQsICNjb3Vyc2VzIC5jb3Vyc2UtYm94IC5jb250ZW50LCAjdG91ciAubWVkaWEgLmNvbnRlbnQsIC5wcmljZS1saXN0cyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyLCAucXVvdGUtYmxvY2ssICNhcnRpY2xlLWxpc3QgLmFydGljbGUgLmNvbnRlbnQsIC5wcmljZS1saXN0cyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93LCAucXVvdGUtYmxvY2sge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uLCAjYXJ0aWNsZS1saXN0IC5hcnRpY2xlIC5jb250ZW50LCAucHJpY2UtbGlzdHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLypcclxuJGNvbG9yMTogcmdiYSgxMDgsIDIwNCwgMCwgMSk7XHJcbiRjb2xvcjI6IHJnYmEoMTI4LCAyMDUsIDQxLCAxKTtcclxuJGNvbG9yMzogcmdiYSgyNSwgMjUsIDI1LCAxKTtcclxuJGNvbG9yNDogcmdiYSg3OCwgNzQsIDc1LCAxKTtcclxuJGNvbG9yNTogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuKi9cbioge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuXG5hIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBwIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07IH0gfVxuXG4jYWJvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG4gICNhYm91dCAub3JiaXQtc2xpZGUgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Fib3V0IC5vcmJpdC1zbGlkZSAuaW1hZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgI2Fib3V0IC5vcmJpdC1zbGlkZSAuaW1hZ2UtY29udGFpbmVyID4gLmNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgI2Fib3V0IC5vcmJpdC1zbGlkZSAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgI2Fib3V0IGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2Fib3V0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4gICAgICAjYWJvdXQgLm9yYml0LXNsaWRlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7IH1cbiAgICAgICAgI2Fib3V0IC5vcmJpdC1zbGlkZSBpbWcge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cbiAgI2Fib3V0IC5vcmJpdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Fib3V0IC5vcmJpdCAuY29udHJvbHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgICAjYWJvdXQgLm9yYml0IC5jb250cm9scyBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmNjYzAwO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgICNhYm91dCAub3JiaXQgLmJ1bGxldHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3R0b206IDA7IH1cbiAgICAgICNhYm91dCAub3JiaXQgLmJ1bGxldHMgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA4LCAyMDQsIDAsIDAuMjUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAwLjI1czsgfVxuICAgICAgICAjYWJvdXQgLm9yYml0IC5idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7IH1cbiAgI2Fib3V0IC5jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2Fib3V0IC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmxvY2s6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gIC5ibG9jayA+IC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG5cbiNzZXJ2aWNlcyAuc2VydmljZS1ib3ggaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMjtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG5cbiNzZXJ2aWNlcyBoMyB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4jc2VydmljZXMgaSB7XG4gIGNvbG9yOiAjNmNjYzAwO1xuICBmb250LXNpemU6IDNyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluOyB9XG5cbiNzZXJ2aWNlcyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluOyB9XG5cbiNzZXJ2aWNlcyBhOmhvdmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDIwNCwgMCwgMC44KTsgfVxuXG4jc2VydmljZXMgYTpob3ZlciBpIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogNC41cmVtOyB9XG5cbi5xdW90ZS1ibG9jayB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7XG4gIGNvbG9yOiAjNmNjYzAwO1xuICBtaW4taGVpZ2h0OiA4cmVtOyB9XG4gIC5xdW90ZS1ibG9jayBwIHtcbiAgICBmb250LXNpemU6IDN2bWF4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jdHJlbmVycyAudGl0bGUtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDsgfVxuXG4jdHJlbmVycyAudHJlbmVyLWJveCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IC0yO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cblxuI3RyZW5lcnMgaDMge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI3RyZW5lcnMgLm92ZXJsYXkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1pbjsgfVxuXG4jdHJlbmVycyBhOmhvdmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDgsIDIwNCwgMCwgMC44KTsgfVxuXG4jdHJlbmVycyBhOmhvdmVyIGkge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiA0LjVyZW07IH1cblxuI2NvdXJzZXMgLnRpdGxlLWJveCB7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTsgfVxuICAjY291cnNlcyAudGl0bGUtYm94IGgyIHtcbiAgICBjb2xvcjogIzZjY2MwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjY291cnNlcyAuY291cnNlLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2NvdXJzZXMgLmNvdXJzZS1ib3g6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAjY291cnNlcyAuY291cnNlLWJveCA+IC5jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjY2MwMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzE5MTkxOTsgfSB9XG5cbiNjb3Vyc2VzIC5jb3Vyc2UtYm94IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTI7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuXG4jY291cnNlcyBoMyB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jY291cnNlcyAub3ZlcmxheSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluOyB9XG5cbiNjb3Vyc2VzIGE6aG92ZXIgLm92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwOCwgMjA0LCAwLCAwLjgpOyB9XG5cbiNjb3Vyc2VzIGE6aG92ZXIgaSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDQuNXJlbTsgfVxuXG4uY2VsbC50aXRsZSwgI3NlcnZpY2VzIC50aXRsZS50aXRsZS1ib3gsICNzZXJ2aWNlcyAudGl0bGUuc2VydmljZS1ib3gsIC50aXRsZS5xdW90ZS1ibG9jaywgI3RyZW5lcnMgLnRpdGxlLnRpdGxlLWJveCwgI3RyZW5lcnMgLnRpdGxlLnRyZW5lci1ib3gsICNjb3Vyc2VzIC50aXRsZS50aXRsZS1ib3gsICNjb3Vyc2VzIC50aXRsZS5jb3Vyc2UtYm94LCAucmV2ZWFsIC50aXRsZS5pbWFnZSwgI2FydGljbGUtbGlzdCAudGl0bGUuYXJ0aWNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI3RvdXIgLm1lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICN0b3VyIC5tZWRpYTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgI3RvdXIgLm1lZGlhID4gLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgI3RvdXIgLm1lZGlhIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuI3RvdXIgaDMge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI3RvdXIgaSB7XG4gIGNvbG9yOiAjNmNjYzAwO1xuICBmb250LXNpemU6IDZyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbiN0b3VyIC5vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UtaW47IH1cblxuI3RvdXIgYTpob3ZlciAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA4LCAyMDQsIDAsIDAuOCk7IH1cblxuI3RvdXIgYTpob3ZlciBpIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogNy41cmVtOyB9XG5cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG4gIHJpZ2h0OiAycmVtO1xuICB0b3A6IDJyZW07XG4gIGNvbG9yOiAjM2QzZjQxO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB6LWluZGV4OiA5OTk5OyB9XG4gIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbi5zdGF0aWMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogMHJlbTtcbiAgICB0b3A6IDByZW07XG4gICAgbWFyZ2luLWxlZnQ6IDg1JTsgfVxuXG4ucmV2ZWFsIC5jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLnJldmVhbCAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgLnJldmVhbCAuaW1hZ2U6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAucmV2ZWFsIC5pbWFnZSA+IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwgLmltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAucmV2ZWFsIC5pbWFnZSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5yZXZlYWwgLmNvbnRlbnQtd3JhcHBlciB7XG4gIHdpZHRoOiA4MCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5yZXZlYWwgaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmV2ZWFsLmxhcmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZXZlYWwubGFyZ2U6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgLnJldmVhbC5sYXJnZSA+IC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5yZXZlYWwgaSB7XG4gIGNvbG9yOiAjNmNjYzAwO1xuICBmb250LXNpemU6IDNyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLCBmb250LXNpemUgMjUwbXMgZWFzZS1pbjtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLnJldmVhbCAuYnV0dG9uIGkge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4ucmV2ZWFsIGgyIHtcbiAgY29sb3I6ICM2Y2NjMDA7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnRpbWV0YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG5vbmU7IH1cbiAgLnRpbWV0YWJsZSB0aGVhZCB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgI2ZlZmVmZSAxcHg7IH1cblxuYS5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUb3AgQmFyICovXG4udG9wLWJhciB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDAuMTI1cmVtICM2Y2NjMDA7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbG9nbyB7XG4gICAgaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cblxuI2Zvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7IH1cbiAgI2Zvb3RlciBoMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAjZm9vdGVyIGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLCBmb250LXNpemUgMjUwbXMgZWFzZS1pbjsgfVxuICAjZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgI2Zvb3RlciBhOmhvdmVyIGkge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gICNmb290ZXIgaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgI2Zvb3RlciAuc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4jaGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvZml0bmVzcy9pbWcvaGVybzIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyB9XG4gICNoZXJvIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICNoZXJvIC5ncmlkLXgsICNoZXJvICNhYm91dCwgI2hlcm8gLmJsb2NrIC5jb250ZW50LCAuYmxvY2sgI2hlcm8gLmNvbnRlbnQsICNoZXJvICNzZXJ2aWNlcywgI2hlcm8gI3RyZW5lcnMsICNoZXJvICNjb3Vyc2VzLCAjaGVybyAjY291cnNlcyAudGl0bGUtYm94IC5jb250ZW50LCAjY291cnNlcyAudGl0bGUtYm94ICNoZXJvIC5jb250ZW50LCAjaGVybyAjY291cnNlcyAuY291cnNlLWJveCAuY29udGVudCwgI2NvdXJzZXMgLmNvdXJzZS1ib3ggI2hlcm8gLmNvbnRlbnQsICNoZXJvICN0b3VyIC5tZWRpYSAuY29udGVudCwgI3RvdXIgLm1lZGlhICNoZXJvIC5jb250ZW50LCAjaGVybyAucmV2ZWFsIC5jb250ZW50LCAucmV2ZWFsICNoZXJvIC5jb250ZW50LCAjaGVybyAucmV2ZWFsIC5jb250ZW50LXdyYXBwZXIsIC5yZXZlYWwgI2hlcm8gLmNvbnRlbnQtd3JhcHBlciwgI2hlcm8gLnByaWNlLWxpc3RzIHtcbiAgICBtaW4taGVpZ2h0OiA5MHZoO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI2FydGljbGUtbGlzdCAuYXJ0aWNsZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluOyB9XG4gICNhcnRpY2xlLWxpc3QgLmFydGljbGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MGNkMjk7XG4gICAgY29sb3I6ICMzZDNmNDE7IH1cbiAgI2FydGljbGUtbGlzdCAuYXJ0aWNsZSAuY29udGVudCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNhcnRpY2xlLWxpc3QgLmFydGljbGUgLmNvbnRlbnQgaDYge1xuICAgICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNhcnRpY2xlLWxpc3QgLmFydGljbGU6aG92ZXIge1xuICAgIGNvbG9yOiAjM2QzZjQxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Y2NjMDA7IH1cblxuLnByaWNlLWxpc3RzIHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cbiAgLnByaWNlLWxpc3RzIGg2IHtcbiAgICBjb2xvcjogIzZjY2MwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgcGFkZGluZzogMXJlbSAwOyB9XG4gIC5wcmljZS1saXN0cyAucHJpY2VzIC5saXN0IHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICM4MGNkMjk7IH1cbiAgICAucHJpY2UtbGlzdHMgLnByaWNlcyAubGlzdDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICM4MGNkMjk7IH1cbiAgICAucHJpY2UtbGlzdHMgLnByaWNlcyAubGlzdCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgICAgIC5wcmljZS1saXN0cyAucHJpY2VzIC5saXN0IHNwYW4udGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgICAucHJpY2UtbGlzdHMgLnByaWNlcyAubGlzdCBzcGFuLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICM2Y2NjMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLnByaWNlLWxpc3RzIC5wcmljZXMgLmxpc3Qgc3Bhbi5TdHVkZW50QW5kU2VuaW9ycyB7XG4gICAgICAgIGNvbG9yOiAjODBjZDI5OyB9XG4gICAgICAgIC5wcmljZS1saXN0cyAucHJpY2VzIC5saXN0IHNwYW4uU3R1ZGVudEFuZFNlbmlvcnM6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIipcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG5cbi8qI3JlZ2lvbiBDdXJ0YWluTWVudSovXG4vKiBDVVJUQUlOIE1FTlUgKi9cbi5jdXJ0YWluLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwdnc7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY3VydGFpbi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY3VydGFpbi1tZW51LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY3VydGFpbi1tZW51LXdyYXBwZXIgLmN1cnRhaW4tbWVudS1saXN0IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtaW4taGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuY3VydGFpbi1tZW51LXdyYXBwZXIgLmN1cnRhaW4tbWVudS1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmN1cnRhaW4tbWVudS13cmFwcGVyIC5jdXJ0YWluLW1lbnUtbGlzdCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgLmN1cnRhaW4tbWVudS13cmFwcGVyIC5jdXJ0YWluLW1lbnUtbGlzdCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICAuY3VydGFpbi1tZW51LXdyYXBwZXIgLmN1cnRhaW4tbWVudS1saXN0IGxpIHVsLnNvY2lhbCBsaSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLmN1cnRhaW4tbWVudS13cmFwcGVyIC5jdXJ0YWluLW1lbnUtbGlzdCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNyk7IH1cbiAgICAgIC5jdXJ0YWluLW1lbnUtd3JhcHBlciAuY3VydGFpbi1tZW51LWxpc3QgbGk6aG92ZXIgYSB7XG4gICAgICAgIGNvbG9yOiAjMTkxOTE5OyB9XG4gICAgLmN1cnRhaW4tbWVudS13cmFwcGVyIC5jdXJ0YWluLW1lbnUtbGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmN1cnRhaW4tbWVudSAuY3VydGFpbiB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBmbGV4IDAuNDVzOyB9XG4gIC5jdXJ0YWluLW1lbnUgLmN1cnRhaW46bnRoLWNoaWxkKDIpIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3VydGFpbi1tZW51IC5jdXJ0YWluOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTkxOTE5OyB9XG5cbi5jdXJ0YWluLW1lbnUtYnV0dG9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEuMjVyZW07XG4gIHJpZ2h0OiAxLjI1cmVtO1xuICB6LWluZGV4OiA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuY3VydGFpbi1tZW51LWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmN1cnRhaW4tbWVudS1idXR0b24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzZjY2MwMDtcbiAgcGFkZGluZzogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmN1cnRhaW4tbWVudS1idXR0b24tdG9nZ2xlIGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMi43NXJlbTtcbiAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxOTE5MTk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZSAuYmFyMSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTMwMCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAuY3VydGFpbi1tZW51LWJ1dHRvbi10b2dnbGUgLmJhcjIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAuY3VydGFpbi1tZW51LWJ1dHRvbi10b2dnbGUgLmJhcjMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMjAwJSkgcm90YXRlKDBkZWcpOyB9XG4gIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzE5MTkxOTsgfVxuICAgIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZTpob3ZlciBkaXYge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuY3VydGFpbi1tZW51LWJ1dHRvbi10b2dnbGU6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jdXJ0YWluLW1lbnUtb3BlbiAuY3VydGFpbjpudGgtY2hpbGQoMikge1xuICBmbGV4OiAwIDAgMCU7IH1cblxuLmN1cnRhaW4tbWVudS1vcGVuIC5jdXJ0YWluLW1lbnUtd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmN1cnRhaW4tbWVudS1vcGVuIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZSAuYmFyMSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5jdXJ0YWluLW1lbnUtb3BlbiAuY3VydGFpbi1tZW51LWJ1dHRvbi10b2dnbGUgLmJhcjIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTEzNWRlZyk7IH1cblxuLmN1cnRhaW4tbWVudS1vcGVuIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZSAuYmFyMyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyojZW5kcmVnaW9uICBDdXJ0YWluTWVudSovXG4iLCIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9fc2V0dGluZ3Muc2Nzc1wiIC8+XHJcbi8qIEZJVE5FU1MgKi9cclxuQGNoYXJzZXQgJ3V0Zi04JztcclxuXHJcblxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xyXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG4vL0BpbXBvcnQgJ2Fvcyc7XHJcblxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XHJcbi8vXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5cclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcblxyXG4vKlxyXG4kY29sb3IxOiByZ2JhKDEwOCwgMjA0LCAwLCAxKTtcclxuJGNvbG9yMjogcmdiYSgxMjgsIDIwNSwgNDEsIDEpO1xyXG4kY29sb3IzOiByZ2JhKDI1LCAyNSwgMjUsIDEpO1xyXG4kY29sb3I0OiByZ2JhKDc4LCA3NCwgNzUsIDEpO1xyXG4kY29sb3I1OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG4qL1xyXG5cclxuKiB7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuYSB7XHJcbiAgICBvdXRsaW5lLXdpZHRoOiAwO1xyXG59XHJcblxyXG5wIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhYm91dCB7XHJcbiAgICBAZXh0ZW5kIC5ncmlkLXg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LWJhY2tncm91bmQsIDEwKTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgLm9yYml0LXNsaWRlIHtcclxuICAgICAgICAgICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgJG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG5cclxuICAgICAgICAub3JiaXQtc2xpZGUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAvL2hlaWdodDogMTAwJVxyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2FsbGVyeSB7XHJcblxyXG4gICAgICAgIEBleHRlbmQgLnNtYWxsLTEyO1xyXG4gICAgICAgIEBleHRlbmQgLm1lZGl1bS0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZS02O1xyXG4gICAgfVxyXG5cclxuICAgIC5vcmJpdCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAuY29udHJvbHMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuXHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ1bGxldHMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjEsIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgMC4yNXM7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yMSwgMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcclxuXHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgQGV4dGVuZCAuZ3JpZC14O1xyXG4gICAgICAgIEBleHRlbmQgLmFsaWduLWNlbnRlci1taWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNzZXJ2aWNlcyB7XHJcbiAgICBAZXh0ZW5kIC5ncmlkLXg7XHJcblxyXG4gICAgLnRpdGxlLWJveCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2VsbDtcclxuICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNDtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZS0zO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlLWJveCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2VsbDtcclxuICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNDtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZS0zO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIGkge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluLCBmb250LXNpemUgMjUwbXMgZWFzZS1pbjtcclxuICAgIH1cclxuXHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC40KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UtaW47XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yMSwgMC44KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5xdW90ZS1ibG9jayB7XHJcbiAgICBAZXh0ZW5kIC5jZWxsO1xyXG4gICAgQGV4dGVuZCAuYXV0bztcclxuICAgIEBleHRlbmQgLmZsZXgtY29udGFpbmVyO1xyXG4gICAgQGV4dGVuZCAuZmxleC1kaXItcm93O1xyXG4gICAgQGV4dGVuZCAuYWxpZ24tY2VudGVyLW1pZGRsZTtcclxuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjM7XHJcbiAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDEyOCk7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzdm1heDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0cmVuZXJzIHtcclxuICAgIEBleHRlbmQgLmdyaWQteDtcclxuXHJcbiAgICAudGl0bGUtYm94IHtcclxuICAgICAgICBAZXh0ZW5kIC5jZWxsO1xyXG4gICAgICAgIEBleHRlbmQgLnNtYWxsLTEyO1xyXG4gICAgICAgIEBleHRlbmQgLm1lZGl1bS02O1xyXG4gICAgICAgIEBleHRlbmQgLmxhcmdlLTM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yMTtcclxuICAgIH1cclxuXHJcbiAgICAudHJlbmVyLWJveCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2VsbDtcclxuICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNjtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZS0zO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0yO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuMik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjEsIDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jY291cnNlcyB7XHJcbiAgICBAZXh0ZW5kIC5ncmlkLXg7XHJcblxyXG4gICAgLnRpdGxlLWJveCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2VsbDtcclxuICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5tZWRpdW0tNjtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZS02O1xyXG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjM7XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZ3JpZC14O1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5hbGlnbi1jZW50ZXItbWlkZGxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvdXJzZS1ib3gge1xyXG4gICAgICAgIEBleHRlbmQgLmNlbGw7XHJcbiAgICAgICAgQGV4dGVuZCAuc21hbGwtMTI7XHJcbiAgICAgICAgQGV4dGVuZCAubWVkaXVtLTY7XHJcbiAgICAgICAgQGV4dGVuZCAubGFyZ2UtMztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEsMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRjb2xvcjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZ3JpZC14O1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5hbGlnbi1jZW50ZXItbWlkZGxlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMjtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuMik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjEsIDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2VsbCB7XHJcbiAgICAmLnRpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kIC5zbWFsbC0xMjtcclxuICAgICAgICBAZXh0ZW5kIC5ncmlkLXBhZGRpbmcteDtcclxuICAgICAgICBAZXh0ZW5kIC5ncmlkLXBhZGRpbmcteTtcclxuICAgICAgICBAZXh0ZW5kIC50ZXh0LWNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyo0IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0b3VyIHtcclxuXHJcbiAgICAubWVkaWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxLDEpO1xyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmdyaWQteDtcclxuICAgICAgICAgICAgQGV4dGVuZCAuYWxpZ24tY2VudGVyLW1pZGRsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgei1pbmRleDogLTI7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBpIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiwgZm9udC1zaXplIDI1MG1zIGVhc2UtaW47XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiAgICB9XHJcblxyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuMik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjEsIDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNy41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnJldmVhbCB7XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogNHJlbTtcclxuICAgICAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgcmlnaHQ6IDJyZW07XHJcbiAgICAgICAgdG9wOiAycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG5cclxuICAgICAgICAmLnN0YXRpYyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDByZW07XHJcbiAgICAgICAgICAgIHRvcDogMHJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDg1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIEBleHRlbmQgLmdyaWQteDtcclxuICAgICAgICBAZXh0ZW5kIC5hbGlnbi1taWRkbGU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kIC5jZWxsO1xyXG4gICAgICAgIEBleHRlbmQgLnNtYWxsLTEyO1xyXG4gICAgICAgIEBleHRlbmQgLmxhcmdlLWF1dG87XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICgxIC8gMSkgKiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIEBleHRlbmQgLmdyaWQteDtcclxuICAgICAgICBAZXh0ZW5kIC5ncmlkLXBhZGRpbmcteDtcclxuICAgICAgICBAZXh0ZW5kIC5ncmlkLXBhZGRpbmcteTtcclxuICAgICAgICBAZXh0ZW5kIC50ZXh0LWNlbnRlcjtcclxuICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYubGFyZ2Uge1xyXG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiwgOSk7XHJcbiAgICB9XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvcjE7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluO1xyXG4gICAgICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4gMDtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi50aW1ldGFibGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAkd2hpdGUgMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuYS5idXR0b24ge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi8qIFRvcCBCYXIgKi9cclxuLnRvcC1iYXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgcmVtLWNhbGMoMikgJGNvbG9yMTtcclxuXHJcbiAgICAudG9wLWJhci1sb2dvIHtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZztcclxuICAgIH1cclxufVxyXG5cclxuI2Zvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcclxuICAgIH1cclxuXHJcbiAgICBpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2UtaW4sIGZvbnQtc2l6ZSAyNTBtcyBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgICAuc29jaWFsIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuI2hlcm8ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9maXRuZXNzL2ltZy9oZXJvMi5qcGdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcclxuXHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiAgICB9XHJcblxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogOTB2aDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYXJ0aWNsZS1saXN0IHtcclxuICAgIC5hcnRpY2xlIHtcclxuICAgICAgICBAZXh0ZW5kIC5jZWxsO1xyXG4gICAgICAgIEBleHRlbmQgLnNtYWxsLTEyO1xyXG4gICAgICAgIEBleHRlbmQgLm1lZGl1bS02O1xyXG4gICAgICAgIEBleHRlbmQgLmxhcmdlLTM7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBhc3BlY3QtcmF0aW8oMSwxKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbjtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLmZsZXgtY29udGFpbmVyO1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5mbGV4LWRpci1jb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByaWNlLWxpc3RzIHtcclxuICAgIEBleHRlbmQgLmdyaWQteDtcclxuICAgIEBleHRlbmQgLmdyaWQtcGFkZGluZy14O1xyXG4gICAgQGV4dGVuZCAuZmxleC1jb250YWluZXI7XHJcbiAgICBAZXh0ZW5kIC5mbGV4LWRpci1jb2x1bW47XHJcbiAgICBAZXh0ZW5kIC5hbGlnbi1jZW50ZXItbWlkZGxlO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcblxyXG4gICAgaDYge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3IxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgMDtcclxuICAgIH1cclxuXHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICAubGlzdCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLnRleHQtY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRjb2xvcjI7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggJGNvbG9yMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4gMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLnRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRnbG9iYWwtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yMTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLlN0dWRlbnRBbmRTZW5pb3JzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIipcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiNyZWdpb24gQ3VydGFpbk1lbnUqL1xyXG4vKiBDVVJUQUlOIE1FTlUgKi9cclxuJGN1cnRhaW4tbWVudS1jb2xvcjogJGNvbG9yMztcclxuJGN1cnRhaW4tbWVudS10ZXh0LWNvbG9yOiAkd2hpdGU7XHJcbiRjdXJ0YWluLW1lbnUtZm9udC1zaXplOiAxcmVtO1xyXG4kY3VydGFpbi1tZW51LWJ1dHRvbi1zaXplOiByZW0tY2FsYyg0MCk7XHJcblxyXG4uY3VydGFpbi1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXJ0YWluLW1lbnUtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgIC5jdXJ0YWluLW1lbnUtbGlzdCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY3VydGFpbi1tZW51LWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogJGN1cnRhaW4tbWVudS1mb250LXNpemU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bC5zb2NpYWwge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjcpO1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VydGFpbi1tZW51LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY3VydGFpbi1tZW51LXRleHQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmN1cnRhaW4tbWVudSAuY3VydGFpbiB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGZsZXggMC40NXM7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGZsZXg6IDEgMCAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJ0YWluLW1lbnUtY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXJ0YWluLW1lbnUtYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMS4yNXJlbTtcclxuICAgIHJpZ2h0OiAxLjI1cmVtO1xyXG4gICAgei1pbmRleDogNTtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZSB7XHJcbiAgICAvL3dpZHRoOiAkY3VydGFpbi1tZW51LWJ1dHRvbi1zaXplO1xyXG4gICAgLy9oZWlnaHQ6ICRjdXJ0YWluLW1lbnUtYnV0dG9uLXNpemU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IxO1xyXG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICogMjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwwLjE2KSwwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwwLjEyKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ0KTtcclxuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDYpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJ0YWluLW1lbnUtY29sb3I7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYXIxIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSl0cmFuc2xhdGVZKC0zMDAlKXJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAuYmFyMiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpdHJhbnNsYXRlWSgtNTAlKXJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAuYmFyMyB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSl0cmFuc2xhdGVZKDIwMCUpcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjdXJ0YWluLW1lbnUtY29sb3I7XHJcblxyXG4gICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjdXJ0YWluLW1lbnUtdGV4dC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jdXJ0YWluLW1lbnUtb3BlbiB7XHJcbiAgICAuY3VydGFpbjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGZsZXg6IDAgMCAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VydGFpbi1tZW51LXdyYXBwZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXJ0YWluLW1lbnUtYnV0dG9uLXRvZ2dsZSB7XHJcbiAgICAgICAgLmJhcjEge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSl0cmFuc2xhdGVZKC01MCUpcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmFyMiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKXRyYW5zbGF0ZVkoLTUwJSlyb3RhdGUoLTEzNWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmFyMyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiNlbmRyZWdpb24gIEN1cnRhaW5NZW51Ki9cclxuXHJcblxyXG5cclxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UmlnaHRlb3VzJnN1YnNldD1sYXRpbi1leHQnKTtcclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG4kY29sb3IxOiByZ2JhKDEwOCwgMjA0LCAwLCAxKTtcclxuJGNvbG9yMjogcmdiYSgxMjgsIDIwNSwgNDEsIDEpO1xyXG4kY29sb3IzOiByZ2JhKDI1LCAyNSwgMjUsIDEpO1xyXG4kY29sb3I0OiByZ2JhKDc4LCA3NCwgNzUsIDEpO1xyXG4kY29sb3I1OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAkY29sb3IxLFxyXG4gIHNlY29uZGFyeTogIzI2MjYyNixcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XHJcbiRkYXJrLWdyYXk6ICM4YThhOGE7XHJcbiRibGFjazogcmdiKDYxLDYzLDY1KTtcclxuJHdoaXRlOiAjZmVmZWZlO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkY29sb3IzO1xyXG4kYm9keS1mb250LWNvbG9yOiAkY29sb3I1O1xyXG4kYm9keS1mb250LWZhbWlseTogJ1pla3Rvbic7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogcmVtLWNhbGMoNSk7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAxcmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IDAuNXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBzbWFsbDogMS41ZW0sXHJcbiAgbWVkaXVtOiAyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xyXG5cclxuLy8gMTYuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XHJcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xyXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyAxNy4gRHJvcGRvd25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pO1xyXG5cclxuLy8gMTguIERyb3Bkb3duIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcclxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcclxuXHJcbi8vIDIwLiBGb3Jtc1xyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiByZW0tY2FsYygxMCk7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xyXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAxMDAlO1xyXG4kcmV2ZWFsLXBhZGRpbmc6IDA7XHJcbiRyZXZlYWwtYm9yZGVyOiAwcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xyXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xyXG5cclxuLy8gNDguIFNsaWRlclxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA0OS4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1MS4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBub25lO1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkY29sb3IzO1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogMjBweCxcclxuICBtZWRpdW06IDMwcHhcclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZVxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICRvbGQtemYtc2l6ZTogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW5nIC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2luZy5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy9cbi8vIFZlcnRpY2FsIFJoeXRobVxuLy9cbi8vIFRoaXMgaXMgdGhlIG1pbmltYWwgYW1vdW50IG9mIGNvZGUgbmVlZGVkIHRvIGNyZWF0ZSB2ZXJ0aWNhbCByaHl0aG0gaW4gb3VyXG4vLyBDU1MuIElmIHlvdSBhcmUgbG9va2luZyBmb3IgYSByb2J1c3Qgc29sdXRpb24sIGxvb2sgYXQgdGhlIGV4Y2VsbGVudCBUeXBleVxuLy8gbGlicmFyeS4gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vanB0YXJhbnRvL3R5cGV5XG5cbkBmdW5jdGlvbiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUsICR1bml0OiAkYmFzZS11bml0KSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gcHgge1xuICAgIEBlcnJvciBcIlRoZSBub3JtYWxpemUgdmVydGljYWwtcmh5dGhtIG1vZHVsZSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIEBpZiAkdW5pdCA9PSByZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxcmVtO1xuICB9XG4gIEBlbHNlIGlmICR1bml0ID09IGVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkcmVsYXRpdmUtdG8pICogMWVtO1xuICB9XG4gIEBlbHNlIHsgLy8gJHVuaXQgPT0gcHhcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gbm9ybWFsaXplLWZvbnQtc2l6ZSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3B4JyB7XG4gICAgQGVycm9yIFwibm9ybWFsaXplLWZvbnQtc2l6ZSgpIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgZm9udC1zaXplOiBub3JtYWxpemUtcmh5dGhtKCR2YWx1ZSwgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1yaHl0aG0oJHByb3BlcnR5LCAkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAkdmFsdWUtbGlzdDogJHZhbHVlcztcbiAgJHNlcDogc3BhY2U7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XG4gICAgJHNlcDogbGlzdC1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWx1ZS1saXN0OiBhcHBlbmQoKCksICR2YWx1ZXMpO1xuICB9XG5cbiAgJG5vcm1hbGl6ZWQtdmFsdWVzOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZS1saXN0IHtcbiAgICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgJHZhbHVlICE9IDAge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiBub3JtYWxpemUtcmh5dGhtKCRiYXNlLWxpbmUtaGVpZ2h0LCAkcmVsYXRpdmUtdG8pO1xuICAgIH1cbiAgICAkbm9ybWFsaXplZC12YWx1ZXM6IGFwcGVuZCgkbm9ybWFsaXplZC12YWx1ZXMsICR2YWx1ZSwgJHNlcCk7XG4gIH1cbiAgI3skcHJvcGVydHl9OiAkbm9ybWFsaXplZC12YWx1ZXM7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbWFyZ2luKCR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obWFyZ2luLCAkdmFsdWVzLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRmb250LXNpemUsICRtaW4tbGluZS1wYWRkaW5nOiAycHgpIHtcbiAgJGxpbmVzOiBjZWlsKCRmb250LXNpemUgLyAkYmFzZS1saW5lLWhlaWdodCk7XG4gIC8vIElmIGxpbmVzIGFyZSBjcmFtcGVkIGluY2x1ZGUgc29tZSBleHRyYSBsZWFkaW5nLlxuICBAaWYgKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSkgPCAoJG1pbi1saW5lLXBhZGRpbmcgKiAyKSB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyAxO1xuICB9XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZS1yaHl0aG0obGluZS1oZWlnaHQsICRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtYXR0cmlidXRlLW5lc3RpbmcsIGZvcmNlLXBzZXVkby1uZXN0aW5nLCBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICB9XG5cbiAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXItcGFkZGluZztcbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+ICN7JC16Zi1zaXplfS1zaHJpbmssID4gI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAjeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkYnApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skLXpmLXNpemV9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAjeyQtemYtc2l6ZX0tc2hyaW5rLCA+ICN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15JylcbiAgfVxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG5cbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXJcbikge1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBBZGQgcGFkZGluZyB0byB5b3VyIGNvbnRhaW5lciwgdXAgdG8gYSBwYXJ0aWN1bGFyIHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXItcGFkZGluZyhcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nLFxuICAkbWF4OiAkZ3JpZC1jb250YWluZXItbWF4XG4pIHtcbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRwYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRwYWRkaW5nKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUgLyAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkcGFkZGluZykgPT0gJ251bWJlcicpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKCRwYWRkaW5nKSAvIDI7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJHBhZGRpbmcpIC8gMjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0cyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXJuIHRoZW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IG91ciBndXR0ZXJzIGZyb20gbWFwIGlmIGF2YWlsYWJsZSwgaWYgbm90IG1hcCBqdXN0IHJldHVybiB0aGUgdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgLy8gSWYgZ3V0dGVycyA9IG1hcFxuICAgIEBpZih0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgICAgLy8gSWYgJGd1dHRlcnMgbWFwIGhhcyBhIGtleSA9ICRicmVha3BvaW50LCBvdXRwdXQgdGhlIHZhbHVlXG4gICAgICBAaWYgKG1hcC1oYXMta2V5KCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiBub3QgYSBtYXBcbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiAjeyRvcGVyYXRvcn0kZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCBvciBgcGFkZGluZ2AuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlci10eXBlOiAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlXG4pIHtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gIH0gQGVsc2Uge1xuICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgfVxuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIFxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIFxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfSAgICBcbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB3aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iXX0= */
