@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
.u-bg-black {
  background-color: #3A3C39 !important; }

.u-black {
  color: #3A3C39 !important; }

.u-bg-black--30 {
  background-color: #c4c5c4; }

.u-bg-black--50 {
  background-color: #9d9e9c; }

.u-bg-black--70 {
  background-color: #757774; }

.u-bg-white {
  background-color: #fefefe !important; }

.u-white {
  color: #fefefe !important; }

.u-bg-white--30 {
  background-color: white; }

.u-bg-white--50 {
  background-color: white; }

.u-bg-white--70 {
  background-color: #fefefe; }

.u-bg-light-mink {
  background-color: #c5bfb7 !important; }

.u-light-mink {
  color: #c5bfb7 !important; }

.u-bg-light-mink--30 {
  background-color: #eeece9; }

.u-bg-light-mink--50 {
  background-color: #e2dfdb; }

.u-bg-light-mink--70 {
  background-color: #d6d2cd; }

.u-bg-medium-mink {
  background-color: #776e64 !important; }

.u-medium-mink {
  color: #776e64 !important; }

.u-bg-medium-mink--30 {
  background-color: #d6d4d1; }

.u-bg-medium-mink--50 {
  background-color: #bbb7b2; }

.u-bg-medium-mink--70 {
  background-color: #a09a93; }

.u-bg-dark-mink {
  background-color: #373a36 !important; }

.u-dark-mink {
  color: #373a36 !important; }

.u-bg-dark-mink--30 {
  background-color: #c3c4c3; }

.u-bg-dark-mink--50 {
  background-color: #9b9d9b; }

.u-bg-dark-mink--70 {
  background-color: #737572; }

.u-bg-dark-grey {
  background-color: #616361 !important; }

.u-dark-grey {
  color: #616361 !important; }

.u-bg-dark-grey--30 {
  background-color: #d0d0d0; }

.u-bg-dark-grey--50 {
  background-color: #b0b1b0; }

.u-bg-dark-grey--70 {
  background-color: #909290; }

.u-bg-energy-green {
  background-color: #76BD22 !important; }

.u-energy-green {
  color: #76BD22 !important; }

.u-bg-energy-green--30 {
  background-color: #d6ebbd; }

.u-bg-energy-green--50 {
  background-color: #bbde91; }

.u-bg-energy-green--70 {
  background-color: #9fd164; }

.u-bg-energy-light-green {
  background-color: #9BBEAC !important; }

.u-energy-light-green {
  color: #9BBEAC !important; }

.u-bg-energy-light-green--30 {
  background-color: #e1ece6; }

.u-bg-energy-light-green--50 {
  background-color: #cddfd6; }

.u-bg-energy-light-green--70 {
  background-color: #b9d2c5; }

.u-bg-energy-teal {
  background-color: #008996 !important; }

.u-energy-teal {
  color: #008996 !important; }

.u-bg-energy-teal--30 {
  background-color: #b3dce0; }

.u-bg-energy-teal--50 {
  background-color: #80c4cb; }

.u-bg-energy-teal--70 {
  background-color: #4dacb6; }

.u-bg-energy-yellow {
  background-color: #F4C400 !important; }

.u-energy-yellow {
  color: #F4C400 !important; }

.u-bg-energy-yellow--30 {
  background-color: #fcedb3; }

.u-bg-energy-yellow--50 {
  background-color: #fae280; }

.u-bg-energy-yellow--70 {
  background-color: #f7d64d; }

.u-bg-energy-orange {
  background-color: #EE7624 !important; }

.u-energy-orange {
  color: #EE7624 !important; }

.u-bg-energy-orange--30 {
  background-color: #fad6bd; }

.u-bg-energy-orange--50 {
  background-color: #f7bb92; }

.u-bg-energy-orange--70 {
  background-color: #f39f66; }

.u-bg-energy-light-blue {
  background-color: #5FB4E5 !important; }

.u-energy-light-blue {
  color: #5FB4E5 !important; }

.u-bg-energy-light-blue--30 {
  background-color: #cfe9f7; }

.u-bg-energy-light-blue--50 {
  background-color: #afdaf2; }

.u-bg-energy-light-blue--70 {
  background-color: #8fcbed; }

.u-bg-energy-blue {
  background-color: #3D7DCA !important; }

.u-energy-blue {
  color: #3D7DCA !important; }

.u-bg-energy-blue--30 {
  background-color: #c5d8ef; }

.u-bg-energy-blue--50 {
  background-color: #9ebee5; }

.u-bg-energy-blue--70 {
  background-color: #77a4da; }

.u-bg-energy-pink {
  background-color: #D41568 !important; }

.u-energy-pink {
  color: #D41568 !important; }

.u-bg-energy-pink--30 {
  background-color: #f2b9d2; }

.u-bg-energy-pink--50 {
  background-color: #ea8ab4; }

.u-bg-energy-pink--70 {
  background-color: #e15b95; }

.u-bg-energy-purple {
  background-color: #592C82 !important; }

.u-energy-purple {
  color: #592C82 !important; }

.u-bg-energy-purple--30 {
  background-color: #cdc0da; }

.u-bg-energy-purple--50 {
  background-color: #ac96c1; }

.u-bg-energy-purple--70 {
  background-color: #8b6ba8; }

.u-bg-heritage-green {
  background-color: #006938 !important; }

.u-heritage-green {
  color: #006938 !important; }

.u-bg-heritage-green--30 {
  background-color: #b3d2c3; }

.u-bg-heritage-green--50 {
  background-color: #80b49c; }

.u-bg-heritage-green--70 {
  background-color: #4d9674; }

.u-bg-heritage-green-alt {
  background-color: #2B7051 !important; }

.u-heritage-green-alt {
  color: #2B7051 !important; }

.u-bg-heritage-green-alt--30 {
  background-color: #bfd4cb; }

.u-bg-heritage-green-alt--50 {
  background-color: #95b8a8; }

.u-bg-heritage-green-alt--70 {
  background-color: #6b9b85; }

.u-bg-heritage-teal {
  background-color: #005E63 !important; }

.u-heritage-teal {
  color: #005E63 !important; }

.u-bg-heritage-teal--30 {
  background-color: #b3cfd0; }

.u-bg-heritage-teal--50 {
  background-color: #80afb1; }

.u-bg-heritage-teal--70 {
  background-color: #4d8e92; }

.u-bg-heritage-yellow {
  background-color: #ECAA00 !important; }

.u-heritage-yellow {
  color: #ECAA00 !important; }

.u-bg-heritage-yellow--30 {
  background-color: #f9e6b3; }

.u-bg-heritage-yellow--50 {
  background-color: #f6d580; }

.u-bg-heritage-yellow--70 {
  background-color: #f2c44d; }

.u-bg-heritage-orange {
  background-color: #E14504 !important; }

.u-heritage-orange {
  color: #E14504 !important; }

.u-bg-heritage-orange--30 {
  background-color: #f6c7b4; }

.u-bg-heritage-orange--50 {
  background-color: #f0a282; }

.u-bg-heritage-orange--70 {
  background-color: #ea7d4f; }

.u-bg-heritage-blue {
  background-color: #385DAE !important; }

.u-heritage-blue {
  color: #385DAE !important; }

.u-bg-heritage-blue--30 {
  background-color: #c3cee7; }

.u-bg-heritage-blue--50 {
  background-color: #9caed7; }

.u-bg-heritage-blue--70 {
  background-color: #748ec6; }

.u-bg-heritage-navy {
  background-color: #14315E !important; }

.u-heritage-navy {
  color: #14315E !important; }

.u-bg-heritage-navy--30 {
  background-color: #b9c1cf; }

.u-bg-heritage-navy--50 {
  background-color: #8a98af; }

.u-bg-heritage-navy--70 {
  background-color: #5b6f8e; }

.u-bg-heritage-berry {
  background-color: #9D1E65 !important; }

.u-heritage-berry {
  color: #9D1E65 !important; }

.u-bg-heritage-berry--30 {
  background-color: #e2bcd1; }

.u-bg-heritage-berry--50 {
  background-color: #ce8fb2; }

.u-bg-heritage-berry--70 {
  background-color: #ba6293; }

.u-bg-heritage-purple {
  background-color: #31006F !important; }

.u-heritage-purple {
  color: #31006F !important; }

.u-bg-heritage-purple--30 {
  background-color: #c1b3d4; }

.u-bg-heritage-purple--50 {
  background-color: #9880b7; }

.u-bg-heritage-purple--70 {
  background-color: #6f4d9a; }

.u-bg-grey {
  background-color: #f6f5f4 !important; }

.u-bg-grey--dark {
  background-color: #eae9e8 !important; }

.u-bg-grey--darker {
  background-color: #dddddc !important; }

.u-bg-energy-teal--15 {
  background-color: #d9edef !important; }

.u-white--all *,
.u-white--all *:after,
.u-white--all *:hover {
  color: #fefefe !important; }

.u-white--all a:before {
  background-color: #fefefe !important; }

.u-white--all .c-wysiwyg-content li a,
.u-white--all li a,
.u-white--all p a {
  border-color: #fefefe; }

/**
 * Because false isn’t a valid value for z-index, we don’t want it in our compiled
 * code. We can stop this from happening by making a custom function that acts as
 * a proxy to the call to list and that uses Sass’ @warn to tell us whether something
 * has gone wrong.
 * Example usage: z($z-index-elements, homepage-masthead-vide)
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

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

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*! 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 */
  -webkit-text-decoration: underline dotted;
  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=77.5em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Open Sans", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #3A3C39;
  -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: 77.5rem;
  margin: 0 auto; }

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

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }
  .cell.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > small-shrink, .grid-x > small-full, .grid-x > small-1, .grid-x > small-2, .grid-x > small-3, .grid-x > small-4, .grid-x > small-5, .grid-x > small-6, .grid-x > small-7, .grid-x > small-8, .grid-x > small-9, .grid-x > small-10, .grid-x > small-11, .grid-x > 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, .grid-x > medium-full, .grid-x > medium-1, .grid-x > medium-2, .grid-x > medium-3, .grid-x > medium-4, .grid-x > medium-5, .grid-x > medium-6, .grid-x > medium-7, .grid-x > medium-8, .grid-x > medium-9, .grid-x > medium-10, .grid-x > medium-11, .grid-x > 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, .grid-x > large-full, .grid-x > large-1, .grid-x > large-2, .grid-x > large-3, .grid-x > large-4, .grid-x > large-5, .grid-x > large-6, .grid-x > large-7, .grid-x > large-8, .grid-x > large-9, .grid-x > large-10, .grid-x > large-11, .grid-x > large-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; } }

@media screen and (min-width: 77.5em) {
  .grid-x > xlarge-shrink, .grid-x > xlarge-full, .grid-x > xlarge-1, .grid-x > xlarge-2, .grid-x > xlarge-3, .grid-x > xlarge-4, .grid-x > xlarge-5, .grid-x > xlarge-6, .grid-x > xlarge-7, .grid-x > xlarge-8, .grid-x > xlarge-9, .grid-x > xlarge-10, .grid-x > xlarge-11, .grid-x > xlarge-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; } }

@media screen and (min-width: 90em) {
  .grid-x > xxlarge-shrink, .grid-x > xxlarge-full, .grid-x > xxlarge-1, .grid-x > xxlarge-2, .grid-x > xxlarge-3, .grid-x > xxlarge-4, .grid-x > xxlarge-5, .grid-x > xxlarge-6, .grid-x > xxlarge-7, .grid-x > xxlarge-8, .grid-x > xxlarge-9, .grid-x > xxlarge-10, .grid-x > xxlarge-11, .grid-x > xxlarge-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto; } }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 77.5em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -1.875rem;
  margin-right: -1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 3.75rem);
    margin-left: 1.875rem;
    margin-right: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 3.75rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 3.75rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3.75rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 3.75rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 3.75rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3.75rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 3.75rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 3.75rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3.75rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 3.75rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 3.75rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3.75rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      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 {
      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 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      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 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      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 {
      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 {
      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: 77.5em) {
    .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 {
  margin-right: -1.875rem;
  margin-left: -1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 1.875rem;
  padding-left: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 77.5em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 90em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 3.75rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 3.75rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 3.75rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 3.75rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 3.75rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 3.75rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 3.75rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 3.75rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 77.5em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media screen and (min-width: 90em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    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 {
    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 {
    width: 33.33333%; }
  .small-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .small-margin-collapse > .medium-6 {
    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 {
    width: 100%; }
  .small-margin-collapse > .large-1 {
    width: 8.33333%; }
  .small-margin-collapse > .large-2 {
    width: 16.66667%; }
  .small-margin-collapse > .large-3 {
    width: 25%; }
  .small-margin-collapse > .large-4 {
    width: 33.33333%; }
  .small-margin-collapse > .large-5 {
    width: 41.66667%; }
  .small-margin-collapse > .large-6 {
    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 {
    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 {
      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 {
      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 {
      width: 33.33333%; }
    .medium-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .medium-6 {
      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 {
      width: 100%; }
    .medium-margin-collapse > .large-1 {
      width: 8.33333%; }
    .medium-margin-collapse > .large-2 {
      width: 16.66667%; }
    .medium-margin-collapse > .large-3 {
      width: 25%; }
    .medium-margin-collapse > .large-4 {
      width: 33.33333%; }
    .medium-margin-collapse > .large-5 {
      width: 41.66667%; }
    .medium-margin-collapse > .large-6 {
      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 {
      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 {
      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 {
      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 {
      width: 33.33333%; }
    .large-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .large-margin-collapse > .medium-6 {
      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 {
      width: 100%; }
    .large-margin-collapse > .large-1 {
      width: 8.33333%; }
    .large-margin-collapse > .large-2 {
      width: 16.66667%; }
    .large-margin-collapse > .large-3 {
      width: 25%; }
    .large-margin-collapse > .large-4 {
      width: 33.33333%; }
    .large-margin-collapse > .large-5 {
      width: 41.66667%; }
    .large-margin-collapse > .large-6 {
      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 {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 77.5em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      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 {
      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 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .medium-6 {
      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 {
      width: 100%; }
    .xlarge-margin-collapse > .large-1 {
      width: 8.33333%; }
    .xlarge-margin-collapse > .large-2 {
      width: 16.66667%; }
    .xlarge-margin-collapse > .large-3 {
      width: 25%; }
    .xlarge-margin-collapse > .large-4 {
      width: 33.33333%; }
    .xlarge-margin-collapse > .large-5 {
      width: 41.66667%; }
    .xlarge-margin-collapse > .large-6 {
      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 {
      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 {
      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 {
      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 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .medium-6 {
      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 {
      width: 100%; }
    .xxlarge-margin-collapse > .large-1 {
      width: 8.33333%; }
    .xxlarge-margin-collapse > .large-2 {
      width: 16.66667%; }
    .xxlarge-margin-collapse > .large-3 {
      width: 25%; }
    .xxlarge-margin-collapse > .large-4 {
      width: 33.33333%; }
    .xxlarge-margin-collapse > .large-5 {
      width: 41.66667%; }
    .xxlarge-margin-collapse > .large-6 {
      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 {
      padding-right: 0;
      padding-left: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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: 77.5em) {
  .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-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto; }
  .grid-y > .auto {
    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: 77.5em) {
    .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 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -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 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      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 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -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 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      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: 77.5em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
      -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-box-flex: 1;
      -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 {
  margin-top: -1.875rem;
  margin-bottom: -1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -1.875rem;
  margin-bottom: -1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3.75rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3.75rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3.75rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3.75rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3.75rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3.75rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3.75rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3.75rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      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 {
      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 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      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 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      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 {
      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 {
      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: 77.5em) {
    .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-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }

.cell .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-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    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-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .cell .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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      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-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .cell .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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      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: 77.5em) {
  .xlarge-grid-frame {
    width: 100vw;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .cell .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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      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-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .cell .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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      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-box-align: stretch;
  -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-box-align: stretch;
    -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-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; } }

@media screen and (min-width: 77.5em) {
  .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-box-align: stretch;
    -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-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 77.5em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 90em) {
  .cell .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: "FSMaja", serif;
  font-style: normal;
  font-weight: 300;
  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;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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

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

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

h6 {
  font-size: 1rem;
  line-height: 1;
  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: #006938;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #005a30; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 77.5rem;
  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 #3A3C39;
  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: #3A3C39; }

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

.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 {
  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: 77.5em) {
  .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; } }

[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(58, 60, 57, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #3A3C39;
  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; }

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: #3A3C39; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -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: #3A3C39;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-box-align: center;
  -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-box-flex: 1;
  -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-box-flex: 0;
  -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: #3A3C39;
  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; }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 20px 0;
  font-family: inherit;
  padding: 1.1em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 20px;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #006938;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #005930;
    color: #fefefe; }
  .button.tiny {
    font-size: 14px; }
  .button.small {
    font-size: 16px; }
  .button.large {
    font-size: 20px; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #006938;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #00542d;
      color: #fefefe; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #3A3C39; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #3A3C39; }
  .button.warning {
    background-color: #ffae00;
    color: #3A3C39; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #3A3C39; }
  .button.alert {
    background-color: #cc4b37;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button.light-mink {
    background-color: #c5bfb7;
    color: #3A3C39; }
    .button.light-mink:hover, .button.light-mink:focus {
      background-color: #a39a8d;
      color: #3A3C39; }
  .button.medium-mink {
    background-color: #776e64;
    color: #fefefe; }
    .button.medium-mink:hover, .button.medium-mink:focus {
      background-color: #5f5850;
      color: #fefefe; }
  .button.dark-mink {
    background-color: #373a36;
    color: #fefefe; }
    .button.dark-mink:hover, .button.dark-mink:focus {
      background-color: #2c2e2b;
      color: #fefefe; }
  .button.energy-green {
    background-color: #8EBB38;
    color: #3A3C39; }
    .button.energy-green:hover, .button.energy-green:focus {
      background-color: #72962d;
      color: #3A3C39; }
  .button.energy-light-green {
    background-color: #A4BCAB;
    color: #3A3C39; }
    .button.energy-light-green:hover, .button.energy-light-green:focus {
      background-color: #7b9e86;
      color: #3A3C39; }
  .button.energy-teal {
    background-color: #008894;
    color: #fefefe; }
    .button.energy-teal:hover, .button.energy-teal:focus {
      background-color: #006d76;
      color: #fefefe; }
  .button.energy-yellow {
    background-color: #E7C311;
    color: #3A3C39; }
    .button.energy-yellow:hover, .button.energy-yellow:focus {
      background-color: #b99c0e;
      color: #3A3C39; }
  .button.energy-orange {
    background-color: #D4762F;
    color: #3A3C39; }
    .button.energy-orange:hover, .button.energy-orange:focus {
      background-color: #ac5e23;
      color: #3A3C39; }
  .button.energy-light-blue {
    background-color: #7EB2E2;
    color: #3A3C39; }
    .button.energy-light-blue:hover, .button.energy-light-blue:focus {
      background-color: #4590d5;
      color: #3A3C39; }
  .button.energy-blue {
    background-color: #567CC6;
    color: #fefefe; }
    .button.energy-blue:hover, .button.energy-blue:focus {
      background-color: #3960aa;
      color: #fefefe; }
  .button.energy-pink {
    background-color: #B61B66;
    color: #fefefe; }
    .button.energy-pink:hover, .button.energy-pink:focus {
      background-color: #921652;
      color: #fefefe; }
  .button.energy-purple {
    background-color: #50307F;
    color: #fefefe; }
    .button.energy-purple:hover, .button.energy-purple:focus {
      background-color: #402666;
      color: #fefefe; }
  .button.heritage-green {
    background-color: #006938;
    color: #fefefe; }
    .button.heritage-green:hover, .button.heritage-green:focus {
      background-color: #00542d;
      color: #fefefe; }
  .button.heritage-green-alt {
    background-color: #497053;
    color: #fefefe; }
    .button.heritage-green-alt:hover, .button.heritage-green-alt:focus {
      background-color: #3a5a42;
      color: #fefefe; }
  .button.heritage-teal {
    background-color: #005e6A;
    color: #fefefe; }
    .button.heritage-teal:hover, .button.heritage-teal:focus {
      background-color: #004b55;
      color: #fefefe; }
  .button.heritage-yellow {
    background-color: #DBA91B;
    color: #3A3C39; }
    .button.heritage-yellow:hover, .button.heritage-yellow:focus {
      background-color: #af8716;
      color: #3A3C39; }
  .button.heritage-orange {
    background-color: #C34614;
    color: #fefefe; }
    .button.heritage-orange:hover, .button.heritage-orange:focus {
      background-color: #9c3810;
      color: #fefefe; }
  .button.heritage-blue {
    background-color: #475DAA;
    color: #fefefe; }
    .button.heritage-blue:hover, .button.heritage-blue:focus {
      background-color: #394a88;
      color: #fefefe; }
  .button.heritage-navy {
    background-color: #2E4487;
    color: #fefefe; }
    .button.heritage-navy:hover, .button.heritage-navy:focus {
      background-color: #25366c;
      color: #fefefe; }
  .button.heritage-berry {
    background-color: #662656;
    color: #fefefe; }
    .button.heritage-berry:hover, .button.heritage-berry:focus {
      background-color: #521e45;
      color: #fefefe; }
  .button.heritage-purple {
    background-color: #31006F;
    color: #fefefe; }
    .button.heritage-purple:hover, .button.heritage-purple:focus {
      background-color: #270059;
      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: #006938;
      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: #006938;
        color: #fefefe; }
    .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: #767676;
        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: #3A3C39; }
    .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: #3A3C39; }
    .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.disabled.light-mink, .button[disabled].light-mink {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.light-mink, .button.disabled.light-mink:hover, .button.disabled.light-mink:focus, .button[disabled].light-mink, .button[disabled].light-mink:hover, .button[disabled].light-mink:focus {
        background-color: #c5bfb7;
        color: #3A3C39; }
    .button.disabled.medium-mink, .button[disabled].medium-mink {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.medium-mink, .button.disabled.medium-mink:hover, .button.disabled.medium-mink:focus, .button[disabled].medium-mink, .button[disabled].medium-mink:hover, .button[disabled].medium-mink:focus {
        background-color: #776e64;
        color: #fefefe; }
    .button.disabled.dark-mink, .button[disabled].dark-mink {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.dark-mink, .button.disabled.dark-mink:hover, .button.disabled.dark-mink:focus, .button[disabled].dark-mink, .button[disabled].dark-mink:hover, .button[disabled].dark-mink:focus {
        background-color: #373a36;
        color: #fefefe; }
    .button.disabled.energy-green, .button[disabled].energy-green {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-green, .button.disabled.energy-green:hover, .button.disabled.energy-green:focus, .button[disabled].energy-green, .button[disabled].energy-green:hover, .button[disabled].energy-green:focus {
        background-color: #8EBB38;
        color: #3A3C39; }
    .button.disabled.energy-light-green, .button[disabled].energy-light-green {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-light-green, .button.disabled.energy-light-green:hover, .button.disabled.energy-light-green:focus, .button[disabled].energy-light-green, .button[disabled].energy-light-green:hover, .button[disabled].energy-light-green:focus {
        background-color: #A4BCAB;
        color: #3A3C39; }
    .button.disabled.energy-teal, .button[disabled].energy-teal {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-teal, .button.disabled.energy-teal:hover, .button.disabled.energy-teal:focus, .button[disabled].energy-teal, .button[disabled].energy-teal:hover, .button[disabled].energy-teal:focus {
        background-color: #008894;
        color: #fefefe; }
    .button.disabled.energy-yellow, .button[disabled].energy-yellow {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-yellow, .button.disabled.energy-yellow:hover, .button.disabled.energy-yellow:focus, .button[disabled].energy-yellow, .button[disabled].energy-yellow:hover, .button[disabled].energy-yellow:focus {
        background-color: #E7C311;
        color: #3A3C39; }
    .button.disabled.energy-orange, .button[disabled].energy-orange {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-orange, .button.disabled.energy-orange:hover, .button.disabled.energy-orange:focus, .button[disabled].energy-orange, .button[disabled].energy-orange:hover, .button[disabled].energy-orange:focus {
        background-color: #D4762F;
        color: #3A3C39; }
    .button.disabled.energy-light-blue, .button[disabled].energy-light-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-light-blue, .button.disabled.energy-light-blue:hover, .button.disabled.energy-light-blue:focus, .button[disabled].energy-light-blue, .button[disabled].energy-light-blue:hover, .button[disabled].energy-light-blue:focus {
        background-color: #7EB2E2;
        color: #3A3C39; }
    .button.disabled.energy-blue, .button[disabled].energy-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-blue, .button.disabled.energy-blue:hover, .button.disabled.energy-blue:focus, .button[disabled].energy-blue, .button[disabled].energy-blue:hover, .button[disabled].energy-blue:focus {
        background-color: #567CC6;
        color: #fefefe; }
    .button.disabled.energy-pink, .button[disabled].energy-pink {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-pink, .button.disabled.energy-pink:hover, .button.disabled.energy-pink:focus, .button[disabled].energy-pink, .button[disabled].energy-pink:hover, .button[disabled].energy-pink:focus {
        background-color: #B61B66;
        color: #fefefe; }
    .button.disabled.energy-purple, .button[disabled].energy-purple {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.energy-purple, .button.disabled.energy-purple:hover, .button.disabled.energy-purple:focus, .button[disabled].energy-purple, .button[disabled].energy-purple:hover, .button[disabled].energy-purple:focus {
        background-color: #50307F;
        color: #fefefe; }
    .button.disabled.heritage-green, .button[disabled].heritage-green {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-green, .button.disabled.heritage-green:hover, .button.disabled.heritage-green:focus, .button[disabled].heritage-green, .button[disabled].heritage-green:hover, .button[disabled].heritage-green:focus {
        background-color: #006938;
        color: #fefefe; }
    .button.disabled.heritage-green-alt, .button[disabled].heritage-green-alt {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-green-alt, .button.disabled.heritage-green-alt:hover, .button.disabled.heritage-green-alt:focus, .button[disabled].heritage-green-alt, .button[disabled].heritage-green-alt:hover, .button[disabled].heritage-green-alt:focus {
        background-color: #497053;
        color: #fefefe; }
    .button.disabled.heritage-teal, .button[disabled].heritage-teal {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-teal, .button.disabled.heritage-teal:hover, .button.disabled.heritage-teal:focus, .button[disabled].heritage-teal, .button[disabled].heritage-teal:hover, .button[disabled].heritage-teal:focus {
        background-color: #005e6A;
        color: #fefefe; }
    .button.disabled.heritage-yellow, .button[disabled].heritage-yellow {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-yellow, .button.disabled.heritage-yellow:hover, .button.disabled.heritage-yellow:focus, .button[disabled].heritage-yellow, .button[disabled].heritage-yellow:hover, .button[disabled].heritage-yellow:focus {
        background-color: #DBA91B;
        color: #3A3C39; }
    .button.disabled.heritage-orange, .button[disabled].heritage-orange {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-orange, .button.disabled.heritage-orange:hover, .button.disabled.heritage-orange:focus, .button[disabled].heritage-orange, .button[disabled].heritage-orange:hover, .button[disabled].heritage-orange:focus {
        background-color: #C34614;
        color: #fefefe; }
    .button.disabled.heritage-blue, .button[disabled].heritage-blue {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-blue, .button.disabled.heritage-blue:hover, .button.disabled.heritage-blue:focus, .button[disabled].heritage-blue, .button[disabled].heritage-blue:hover, .button[disabled].heritage-blue:focus {
        background-color: #475DAA;
        color: #fefefe; }
    .button.disabled.heritage-navy, .button[disabled].heritage-navy {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-navy, .button.disabled.heritage-navy:hover, .button.disabled.heritage-navy:focus, .button[disabled].heritage-navy, .button[disabled].heritage-navy:hover, .button[disabled].heritage-navy:focus {
        background-color: #2E4487;
        color: #fefefe; }
    .button.disabled.heritage-berry, .button[disabled].heritage-berry {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-berry, .button.disabled.heritage-berry:hover, .button.disabled.heritage-berry:focus, .button[disabled].heritage-berry, .button[disabled].heritage-berry:hover, .button[disabled].heritage-berry:focus {
        background-color: #662656;
        color: #fefefe; }
    .button.disabled.heritage-purple, .button[disabled].heritage-purple {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.heritage-purple, .button.disabled.heritage-purple:hover, .button.disabled.heritage-purple:focus, .button[disabled].heritage-purple, .button[disabled].heritage-purple:hover, .button[disabled].heritage-purple:focus {
        background-color: #31006F;
        color: #fefefe; }
  .button.hollow {
    border: 1px solid #006938;
    color: #006938; }
    .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: #00351c;
      color: #00351c; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #006938;
        color: #006938; }
    .button.hollow.primary {
      border: 1px solid #006938;
      color: #006938; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #00351c;
        color: #00351c; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #006938;
          color: #006938; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .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.hollow.light-mink {
      border: 1px solid #c5bfb7;
      color: #c5bfb7; }
      .button.hollow.light-mink:hover, .button.hollow.light-mink:focus {
        border-color: #696055;
        color: #696055; }
        .button.hollow.light-mink:hover.disabled, .button.hollow.light-mink:hover[disabled], .button.hollow.light-mink:focus.disabled, .button.hollow.light-mink:focus[disabled] {
          border: 1px solid #c5bfb7;
          color: #c5bfb7; }
    .button.hollow.medium-mink {
      border: 1px solid #776e64;
      color: #776e64; }
      .button.hollow.medium-mink:hover, .button.hollow.medium-mink:focus {
        border-color: #3c3732;
        color: #3c3732; }
        .button.hollow.medium-mink:hover.disabled, .button.hollow.medium-mink:hover[disabled], .button.hollow.medium-mink:focus.disabled, .button.hollow.medium-mink:focus[disabled] {
          border: 1px solid #776e64;
          color: #776e64; }
    .button.hollow.dark-mink {
      border: 1px solid #373a36;
      color: #373a36; }
      .button.hollow.dark-mink:hover, .button.hollow.dark-mink:focus {
        border-color: #1c1d1b;
        color: #1c1d1b; }
        .button.hollow.dark-mink:hover.disabled, .button.hollow.dark-mink:hover[disabled], .button.hollow.dark-mink:focus.disabled, .button.hollow.dark-mink:focus[disabled] {
          border: 1px solid #373a36;
          color: #373a36; }
    .button.hollow.energy-green {
      border: 1px solid #8EBB38;
      color: #8EBB38; }
      .button.hollow.energy-green:hover, .button.hollow.energy-green:focus {
        border-color: #475e1c;
        color: #475e1c; }
        .button.hollow.energy-green:hover.disabled, .button.hollow.energy-green:hover[disabled], .button.hollow.energy-green:focus.disabled, .button.hollow.energy-green:focus[disabled] {
          border: 1px solid #8EBB38;
          color: #8EBB38; }
    .button.hollow.energy-light-green {
      border: 1px solid #A4BCAB;
      color: #A4BCAB; }
      .button.hollow.energy-light-green:hover, .button.hollow.energy-light-green:focus {
        border-color: #4b6552;
        color: #4b6552; }
        .button.hollow.energy-light-green:hover.disabled, .button.hollow.energy-light-green:hover[disabled], .button.hollow.energy-light-green:focus.disabled, .button.hollow.energy-light-green:focus[disabled] {
          border: 1px solid #A4BCAB;
          color: #A4BCAB; }
    .button.hollow.energy-teal {
      border: 1px solid #008894;
      color: #008894; }
      .button.hollow.energy-teal:hover, .button.hollow.energy-teal:focus {
        border-color: #00444a;
        color: #00444a; }
        .button.hollow.energy-teal:hover.disabled, .button.hollow.energy-teal:hover[disabled], .button.hollow.energy-teal:focus.disabled, .button.hollow.energy-teal:focus[disabled] {
          border: 1px solid #008894;
          color: #008894; }
    .button.hollow.energy-yellow {
      border: 1px solid #E7C311;
      color: #E7C311; }
      .button.hollow.energy-yellow:hover, .button.hollow.energy-yellow:focus {
        border-color: #746209;
        color: #746209; }
        .button.hollow.energy-yellow:hover.disabled, .button.hollow.energy-yellow:hover[disabled], .button.hollow.energy-yellow:focus.disabled, .button.hollow.energy-yellow:focus[disabled] {
          border: 1px solid #E7C311;
          color: #E7C311; }
    .button.hollow.energy-orange {
      border: 1px solid #D4762F;
      color: #D4762F; }
      .button.hollow.energy-orange:hover, .button.hollow.energy-orange:focus {
        border-color: #6b3b16;
        color: #6b3b16; }
        .button.hollow.energy-orange:hover.disabled, .button.hollow.energy-orange:hover[disabled], .button.hollow.energy-orange:focus.disabled, .button.hollow.energy-orange:focus[disabled] {
          border: 1px solid #D4762F;
          color: #D4762F; }
    .button.hollow.energy-light-blue {
      border: 1px solid #7EB2E2;
      color: #7EB2E2; }
      .button.hollow.energy-light-blue:hover, .button.hollow.energy-light-blue:focus {
        border-color: #205a90;
        color: #205a90; }
        .button.hollow.energy-light-blue:hover.disabled, .button.hollow.energy-light-blue:hover[disabled], .button.hollow.energy-light-blue:focus.disabled, .button.hollow.energy-light-blue:focus[disabled] {
          border: 1px solid #7EB2E2;
          color: #7EB2E2; }
    .button.hollow.energy-blue {
      border: 1px solid #567CC6;
      color: #567CC6; }
      .button.hollow.energy-blue:hover, .button.hollow.energy-blue:focus {
        border-color: #243c6a;
        color: #243c6a; }
        .button.hollow.energy-blue:hover.disabled, .button.hollow.energy-blue:hover[disabled], .button.hollow.energy-blue:focus.disabled, .button.hollow.energy-blue:focus[disabled] {
          border: 1px solid #567CC6;
          color: #567CC6; }
    .button.hollow.energy-pink {
      border: 1px solid #B61B66;
      color: #B61B66; }
      .button.hollow.energy-pink:hover, .button.hollow.energy-pink:focus {
        border-color: #5b0e33;
        color: #5b0e33; }
        .button.hollow.energy-pink:hover.disabled, .button.hollow.energy-pink:hover[disabled], .button.hollow.energy-pink:focus.disabled, .button.hollow.energy-pink:focus[disabled] {
          border: 1px solid #B61B66;
          color: #B61B66; }
    .button.hollow.energy-purple {
      border: 1px solid #50307F;
      color: #50307F; }
      .button.hollow.energy-purple:hover, .button.hollow.energy-purple:focus {
        border-color: #281840;
        color: #281840; }
        .button.hollow.energy-purple:hover.disabled, .button.hollow.energy-purple:hover[disabled], .button.hollow.energy-purple:focus.disabled, .button.hollow.energy-purple:focus[disabled] {
          border: 1px solid #50307F;
          color: #50307F; }
    .button.hollow.heritage-green {
      border: 1px solid #006938;
      color: #006938; }
      .button.hollow.heritage-green:hover, .button.hollow.heritage-green:focus {
        border-color: #00351c;
        color: #00351c; }
        .button.hollow.heritage-green:hover.disabled, .button.hollow.heritage-green:hover[disabled], .button.hollow.heritage-green:focus.disabled, .button.hollow.heritage-green:focus[disabled] {
          border: 1px solid #006938;
          color: #006938; }
    .button.hollow.heritage-green-alt {
      border: 1px solid #497053;
      color: #497053; }
      .button.hollow.heritage-green-alt:hover, .button.hollow.heritage-green-alt:focus {
        border-color: #25382a;
        color: #25382a; }
        .button.hollow.heritage-green-alt:hover.disabled, .button.hollow.heritage-green-alt:hover[disabled], .button.hollow.heritage-green-alt:focus.disabled, .button.hollow.heritage-green-alt:focus[disabled] {
          border: 1px solid #497053;
          color: #497053; }
    .button.hollow.heritage-teal {
      border: 1px solid #005e6A;
      color: #005e6A; }
      .button.hollow.heritage-teal:hover, .button.hollow.heritage-teal:focus {
        border-color: #002f35;
        color: #002f35; }
        .button.hollow.heritage-teal:hover.disabled, .button.hollow.heritage-teal:hover[disabled], .button.hollow.heritage-teal:focus.disabled, .button.hollow.heritage-teal:focus[disabled] {
          border: 1px solid #005e6A;
          color: #005e6A; }
    .button.hollow.heritage-yellow {
      border: 1px solid #DBA91B;
      color: #DBA91B; }
      .button.hollow.heritage-yellow:hover, .button.hollow.heritage-yellow:focus {
        border-color: #6e550e;
        color: #6e550e; }
        .button.hollow.heritage-yellow:hover.disabled, .button.hollow.heritage-yellow:hover[disabled], .button.hollow.heritage-yellow:focus.disabled, .button.hollow.heritage-yellow:focus[disabled] {
          border: 1px solid #DBA91B;
          color: #DBA91B; }
    .button.hollow.heritage-orange {
      border: 1px solid #C34614;
      color: #C34614; }
      .button.hollow.heritage-orange:hover, .button.hollow.heritage-orange:focus {
        border-color: #62230a;
        color: #62230a; }
        .button.hollow.heritage-orange:hover.disabled, .button.hollow.heritage-orange:hover[disabled], .button.hollow.heritage-orange:focus.disabled, .button.hollow.heritage-orange:focus[disabled] {
          border: 1px solid #C34614;
          color: #C34614; }
    .button.hollow.heritage-blue {
      border: 1px solid #475DAA;
      color: #475DAA; }
      .button.hollow.heritage-blue:hover, .button.hollow.heritage-blue:focus {
        border-color: #242f55;
        color: #242f55; }
        .button.hollow.heritage-blue:hover.disabled, .button.hollow.heritage-blue:hover[disabled], .button.hollow.heritage-blue:focus.disabled, .button.hollow.heritage-blue:focus[disabled] {
          border: 1px solid #475DAA;
          color: #475DAA; }
    .button.hollow.heritage-navy {
      border: 1px solid #2E4487;
      color: #2E4487; }
      .button.hollow.heritage-navy:hover, .button.hollow.heritage-navy:focus {
        border-color: #172244;
        color: #172244; }
        .button.hollow.heritage-navy:hover.disabled, .button.hollow.heritage-navy:hover[disabled], .button.hollow.heritage-navy:focus.disabled, .button.hollow.heritage-navy:focus[disabled] {
          border: 1px solid #2E4487;
          color: #2E4487; }
    .button.hollow.heritage-berry {
      border: 1px solid #662656;
      color: #662656; }
      .button.hollow.heritage-berry:hover, .button.hollow.heritage-berry:focus {
        border-color: #33132b;
        color: #33132b; }
        .button.hollow.heritage-berry:hover.disabled, .button.hollow.heritage-berry:hover[disabled], .button.hollow.heritage-berry:focus.disabled, .button.hollow.heritage-berry:focus[disabled] {
          border: 1px solid #662656;
          color: #662656; }
    .button.hollow.heritage-purple {
      border: 1px solid #31006F;
      color: #31006F; }
      .button.hollow.heritage-purple:hover, .button.hollow.heritage-purple:focus {
        border-color: #190038;
        color: #190038; }
        .button.hollow.heritage-purple:hover.disabled, .button.hollow.heritage-purple:hover[disabled], .button.hollow.heritage-purple:focus.disabled, .button.hollow.heritage-purple:focus[disabled] {
          border: 1px solid #31006F;
          color: #31006F; }
  .button.clear {
    border: 1px solid #006938;
    color: #006938; }
    .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: #00351c;
      color: #00351c; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #006938;
        color: #006938; }
    .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 #006938;
      color: #006938; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #00351c;
        color: #00351c; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #006938;
          color: #006938; }
      .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 #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .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.clear.light-mink {
      border: 1px solid #c5bfb7;
      color: #c5bfb7; }
      .button.clear.light-mink:hover, .button.clear.light-mink:focus {
        border-color: #696055;
        color: #696055; }
        .button.clear.light-mink:hover.disabled, .button.clear.light-mink:hover[disabled], .button.clear.light-mink:focus.disabled, .button.clear.light-mink:focus[disabled] {
          border: 1px solid #c5bfb7;
          color: #c5bfb7; }
      .button.clear.light-mink, .button.clear.light-mink.disabled, .button.clear.light-mink[disabled], .button.clear.light-mink:hover, .button.clear.light-mink:hover.disabled, .button.clear.light-mink:hover[disabled], .button.clear.light-mink:focus, .button.clear.light-mink:focus.disabled, .button.clear.light-mink:focus[disabled] {
        border-color: transparent; }
    .button.clear.medium-mink {
      border: 1px solid #776e64;
      color: #776e64; }
      .button.clear.medium-mink:hover, .button.clear.medium-mink:focus {
        border-color: #3c3732;
        color: #3c3732; }
        .button.clear.medium-mink:hover.disabled, .button.clear.medium-mink:hover[disabled], .button.clear.medium-mink:focus.disabled, .button.clear.medium-mink:focus[disabled] {
          border: 1px solid #776e64;
          color: #776e64; }
      .button.clear.medium-mink, .button.clear.medium-mink.disabled, .button.clear.medium-mink[disabled], .button.clear.medium-mink:hover, .button.clear.medium-mink:hover.disabled, .button.clear.medium-mink:hover[disabled], .button.clear.medium-mink:focus, .button.clear.medium-mink:focus.disabled, .button.clear.medium-mink:focus[disabled] {
        border-color: transparent; }
    .button.clear.dark-mink {
      border: 1px solid #373a36;
      color: #373a36; }
      .button.clear.dark-mink:hover, .button.clear.dark-mink:focus {
        border-color: #1c1d1b;
        color: #1c1d1b; }
        .button.clear.dark-mink:hover.disabled, .button.clear.dark-mink:hover[disabled], .button.clear.dark-mink:focus.disabled, .button.clear.dark-mink:focus[disabled] {
          border: 1px solid #373a36;
          color: #373a36; }
      .button.clear.dark-mink, .button.clear.dark-mink.disabled, .button.clear.dark-mink[disabled], .button.clear.dark-mink:hover, .button.clear.dark-mink:hover.disabled, .button.clear.dark-mink:hover[disabled], .button.clear.dark-mink:focus, .button.clear.dark-mink:focus.disabled, .button.clear.dark-mink:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-green {
      border: 1px solid #8EBB38;
      color: #8EBB38; }
      .button.clear.energy-green:hover, .button.clear.energy-green:focus {
        border-color: #475e1c;
        color: #475e1c; }
        .button.clear.energy-green:hover.disabled, .button.clear.energy-green:hover[disabled], .button.clear.energy-green:focus.disabled, .button.clear.energy-green:focus[disabled] {
          border: 1px solid #8EBB38;
          color: #8EBB38; }
      .button.clear.energy-green, .button.clear.energy-green.disabled, .button.clear.energy-green[disabled], .button.clear.energy-green:hover, .button.clear.energy-green:hover.disabled, .button.clear.energy-green:hover[disabled], .button.clear.energy-green:focus, .button.clear.energy-green:focus.disabled, .button.clear.energy-green:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-light-green {
      border: 1px solid #A4BCAB;
      color: #A4BCAB; }
      .button.clear.energy-light-green:hover, .button.clear.energy-light-green:focus {
        border-color: #4b6552;
        color: #4b6552; }
        .button.clear.energy-light-green:hover.disabled, .button.clear.energy-light-green:hover[disabled], .button.clear.energy-light-green:focus.disabled, .button.clear.energy-light-green:focus[disabled] {
          border: 1px solid #A4BCAB;
          color: #A4BCAB; }
      .button.clear.energy-light-green, .button.clear.energy-light-green.disabled, .button.clear.energy-light-green[disabled], .button.clear.energy-light-green:hover, .button.clear.energy-light-green:hover.disabled, .button.clear.energy-light-green:hover[disabled], .button.clear.energy-light-green:focus, .button.clear.energy-light-green:focus.disabled, .button.clear.energy-light-green:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-teal {
      border: 1px solid #008894;
      color: #008894; }
      .button.clear.energy-teal:hover, .button.clear.energy-teal:focus {
        border-color: #00444a;
        color: #00444a; }
        .button.clear.energy-teal:hover.disabled, .button.clear.energy-teal:hover[disabled], .button.clear.energy-teal:focus.disabled, .button.clear.energy-teal:focus[disabled] {
          border: 1px solid #008894;
          color: #008894; }
      .button.clear.energy-teal, .button.clear.energy-teal.disabled, .button.clear.energy-teal[disabled], .button.clear.energy-teal:hover, .button.clear.energy-teal:hover.disabled, .button.clear.energy-teal:hover[disabled], .button.clear.energy-teal:focus, .button.clear.energy-teal:focus.disabled, .button.clear.energy-teal:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-yellow {
      border: 1px solid #E7C311;
      color: #E7C311; }
      .button.clear.energy-yellow:hover, .button.clear.energy-yellow:focus {
        border-color: #746209;
        color: #746209; }
        .button.clear.energy-yellow:hover.disabled, .button.clear.energy-yellow:hover[disabled], .button.clear.energy-yellow:focus.disabled, .button.clear.energy-yellow:focus[disabled] {
          border: 1px solid #E7C311;
          color: #E7C311; }
      .button.clear.energy-yellow, .button.clear.energy-yellow.disabled, .button.clear.energy-yellow[disabled], .button.clear.energy-yellow:hover, .button.clear.energy-yellow:hover.disabled, .button.clear.energy-yellow:hover[disabled], .button.clear.energy-yellow:focus, .button.clear.energy-yellow:focus.disabled, .button.clear.energy-yellow:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-orange {
      border: 1px solid #D4762F;
      color: #D4762F; }
      .button.clear.energy-orange:hover, .button.clear.energy-orange:focus {
        border-color: #6b3b16;
        color: #6b3b16; }
        .button.clear.energy-orange:hover.disabled, .button.clear.energy-orange:hover[disabled], .button.clear.energy-orange:focus.disabled, .button.clear.energy-orange:focus[disabled] {
          border: 1px solid #D4762F;
          color: #D4762F; }
      .button.clear.energy-orange, .button.clear.energy-orange.disabled, .button.clear.energy-orange[disabled], .button.clear.energy-orange:hover, .button.clear.energy-orange:hover.disabled, .button.clear.energy-orange:hover[disabled], .button.clear.energy-orange:focus, .button.clear.energy-orange:focus.disabled, .button.clear.energy-orange:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-light-blue {
      border: 1px solid #7EB2E2;
      color: #7EB2E2; }
      .button.clear.energy-light-blue:hover, .button.clear.energy-light-blue:focus {
        border-color: #205a90;
        color: #205a90; }
        .button.clear.energy-light-blue:hover.disabled, .button.clear.energy-light-blue:hover[disabled], .button.clear.energy-light-blue:focus.disabled, .button.clear.energy-light-blue:focus[disabled] {
          border: 1px solid #7EB2E2;
          color: #7EB2E2; }
      .button.clear.energy-light-blue, .button.clear.energy-light-blue.disabled, .button.clear.energy-light-blue[disabled], .button.clear.energy-light-blue:hover, .button.clear.energy-light-blue:hover.disabled, .button.clear.energy-light-blue:hover[disabled], .button.clear.energy-light-blue:focus, .button.clear.energy-light-blue:focus.disabled, .button.clear.energy-light-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-blue {
      border: 1px solid #567CC6;
      color: #567CC6; }
      .button.clear.energy-blue:hover, .button.clear.energy-blue:focus {
        border-color: #243c6a;
        color: #243c6a; }
        .button.clear.energy-blue:hover.disabled, .button.clear.energy-blue:hover[disabled], .button.clear.energy-blue:focus.disabled, .button.clear.energy-blue:focus[disabled] {
          border: 1px solid #567CC6;
          color: #567CC6; }
      .button.clear.energy-blue, .button.clear.energy-blue.disabled, .button.clear.energy-blue[disabled], .button.clear.energy-blue:hover, .button.clear.energy-blue:hover.disabled, .button.clear.energy-blue:hover[disabled], .button.clear.energy-blue:focus, .button.clear.energy-blue:focus.disabled, .button.clear.energy-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-pink {
      border: 1px solid #B61B66;
      color: #B61B66; }
      .button.clear.energy-pink:hover, .button.clear.energy-pink:focus {
        border-color: #5b0e33;
        color: #5b0e33; }
        .button.clear.energy-pink:hover.disabled, .button.clear.energy-pink:hover[disabled], .button.clear.energy-pink:focus.disabled, .button.clear.energy-pink:focus[disabled] {
          border: 1px solid #B61B66;
          color: #B61B66; }
      .button.clear.energy-pink, .button.clear.energy-pink.disabled, .button.clear.energy-pink[disabled], .button.clear.energy-pink:hover, .button.clear.energy-pink:hover.disabled, .button.clear.energy-pink:hover[disabled], .button.clear.energy-pink:focus, .button.clear.energy-pink:focus.disabled, .button.clear.energy-pink:focus[disabled] {
        border-color: transparent; }
    .button.clear.energy-purple {
      border: 1px solid #50307F;
      color: #50307F; }
      .button.clear.energy-purple:hover, .button.clear.energy-purple:focus {
        border-color: #281840;
        color: #281840; }
        .button.clear.energy-purple:hover.disabled, .button.clear.energy-purple:hover[disabled], .button.clear.energy-purple:focus.disabled, .button.clear.energy-purple:focus[disabled] {
          border: 1px solid #50307F;
          color: #50307F; }
      .button.clear.energy-purple, .button.clear.energy-purple.disabled, .button.clear.energy-purple[disabled], .button.clear.energy-purple:hover, .button.clear.energy-purple:hover.disabled, .button.clear.energy-purple:hover[disabled], .button.clear.energy-purple:focus, .button.clear.energy-purple:focus.disabled, .button.clear.energy-purple:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-green {
      border: 1px solid #006938;
      color: #006938; }
      .button.clear.heritage-green:hover, .button.clear.heritage-green:focus {
        border-color: #00351c;
        color: #00351c; }
        .button.clear.heritage-green:hover.disabled, .button.clear.heritage-green:hover[disabled], .button.clear.heritage-green:focus.disabled, .button.clear.heritage-green:focus[disabled] {
          border: 1px solid #006938;
          color: #006938; }
      .button.clear.heritage-green, .button.clear.heritage-green.disabled, .button.clear.heritage-green[disabled], .button.clear.heritage-green:hover, .button.clear.heritage-green:hover.disabled, .button.clear.heritage-green:hover[disabled], .button.clear.heritage-green:focus, .button.clear.heritage-green:focus.disabled, .button.clear.heritage-green:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-green-alt {
      border: 1px solid #497053;
      color: #497053; }
      .button.clear.heritage-green-alt:hover, .button.clear.heritage-green-alt:focus {
        border-color: #25382a;
        color: #25382a; }
        .button.clear.heritage-green-alt:hover.disabled, .button.clear.heritage-green-alt:hover[disabled], .button.clear.heritage-green-alt:focus.disabled, .button.clear.heritage-green-alt:focus[disabled] {
          border: 1px solid #497053;
          color: #497053; }
      .button.clear.heritage-green-alt, .button.clear.heritage-green-alt.disabled, .button.clear.heritage-green-alt[disabled], .button.clear.heritage-green-alt:hover, .button.clear.heritage-green-alt:hover.disabled, .button.clear.heritage-green-alt:hover[disabled], .button.clear.heritage-green-alt:focus, .button.clear.heritage-green-alt:focus.disabled, .button.clear.heritage-green-alt:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-teal {
      border: 1px solid #005e6A;
      color: #005e6A; }
      .button.clear.heritage-teal:hover, .button.clear.heritage-teal:focus {
        border-color: #002f35;
        color: #002f35; }
        .button.clear.heritage-teal:hover.disabled, .button.clear.heritage-teal:hover[disabled], .button.clear.heritage-teal:focus.disabled, .button.clear.heritage-teal:focus[disabled] {
          border: 1px solid #005e6A;
          color: #005e6A; }
      .button.clear.heritage-teal, .button.clear.heritage-teal.disabled, .button.clear.heritage-teal[disabled], .button.clear.heritage-teal:hover, .button.clear.heritage-teal:hover.disabled, .button.clear.heritage-teal:hover[disabled], .button.clear.heritage-teal:focus, .button.clear.heritage-teal:focus.disabled, .button.clear.heritage-teal:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-yellow {
      border: 1px solid #DBA91B;
      color: #DBA91B; }
      .button.clear.heritage-yellow:hover, .button.clear.heritage-yellow:focus {
        border-color: #6e550e;
        color: #6e550e; }
        .button.clear.heritage-yellow:hover.disabled, .button.clear.heritage-yellow:hover[disabled], .button.clear.heritage-yellow:focus.disabled, .button.clear.heritage-yellow:focus[disabled] {
          border: 1px solid #DBA91B;
          color: #DBA91B; }
      .button.clear.heritage-yellow, .button.clear.heritage-yellow.disabled, .button.clear.heritage-yellow[disabled], .button.clear.heritage-yellow:hover, .button.clear.heritage-yellow:hover.disabled, .button.clear.heritage-yellow:hover[disabled], .button.clear.heritage-yellow:focus, .button.clear.heritage-yellow:focus.disabled, .button.clear.heritage-yellow:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-orange {
      border: 1px solid #C34614;
      color: #C34614; }
      .button.clear.heritage-orange:hover, .button.clear.heritage-orange:focus {
        border-color: #62230a;
        color: #62230a; }
        .button.clear.heritage-orange:hover.disabled, .button.clear.heritage-orange:hover[disabled], .button.clear.heritage-orange:focus.disabled, .button.clear.heritage-orange:focus[disabled] {
          border: 1px solid #C34614;
          color: #C34614; }
      .button.clear.heritage-orange, .button.clear.heritage-orange.disabled, .button.clear.heritage-orange[disabled], .button.clear.heritage-orange:hover, .button.clear.heritage-orange:hover.disabled, .button.clear.heritage-orange:hover[disabled], .button.clear.heritage-orange:focus, .button.clear.heritage-orange:focus.disabled, .button.clear.heritage-orange:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-blue {
      border: 1px solid #475DAA;
      color: #475DAA; }
      .button.clear.heritage-blue:hover, .button.clear.heritage-blue:focus {
        border-color: #242f55;
        color: #242f55; }
        .button.clear.heritage-blue:hover.disabled, .button.clear.heritage-blue:hover[disabled], .button.clear.heritage-blue:focus.disabled, .button.clear.heritage-blue:focus[disabled] {
          border: 1px solid #475DAA;
          color: #475DAA; }
      .button.clear.heritage-blue, .button.clear.heritage-blue.disabled, .button.clear.heritage-blue[disabled], .button.clear.heritage-blue:hover, .button.clear.heritage-blue:hover.disabled, .button.clear.heritage-blue:hover[disabled], .button.clear.heritage-blue:focus, .button.clear.heritage-blue:focus.disabled, .button.clear.heritage-blue:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-navy {
      border: 1px solid #2E4487;
      color: #2E4487; }
      .button.clear.heritage-navy:hover, .button.clear.heritage-navy:focus {
        border-color: #172244;
        color: #172244; }
        .button.clear.heritage-navy:hover.disabled, .button.clear.heritage-navy:hover[disabled], .button.clear.heritage-navy:focus.disabled, .button.clear.heritage-navy:focus[disabled] {
          border: 1px solid #2E4487;
          color: #2E4487; }
      .button.clear.heritage-navy, .button.clear.heritage-navy.disabled, .button.clear.heritage-navy[disabled], .button.clear.heritage-navy:hover, .button.clear.heritage-navy:hover.disabled, .button.clear.heritage-navy:hover[disabled], .button.clear.heritage-navy:focus, .button.clear.heritage-navy:focus.disabled, .button.clear.heritage-navy:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-berry {
      border: 1px solid #662656;
      color: #662656; }
      .button.clear.heritage-berry:hover, .button.clear.heritage-berry:focus {
        border-color: #33132b;
        color: #33132b; }
        .button.clear.heritage-berry:hover.disabled, .button.clear.heritage-berry:hover[disabled], .button.clear.heritage-berry:focus.disabled, .button.clear.heritage-berry:focus[disabled] {
          border: 1px solid #662656;
          color: #662656; }
      .button.clear.heritage-berry, .button.clear.heritage-berry.disabled, .button.clear.heritage-berry[disabled], .button.clear.heritage-berry:hover, .button.clear.heritage-berry:hover.disabled, .button.clear.heritage-berry:hover[disabled], .button.clear.heritage-berry:focus, .button.clear.heritage-berry:focus.disabled, .button.clear.heritage-berry:focus[disabled] {
        border-color: transparent; }
    .button.clear.heritage-purple {
      border: 1px solid #31006F;
      color: #31006F; }
      .button.clear.heritage-purple:hover, .button.clear.heritage-purple:focus {
        border-color: #190038;
        color: #190038; }
        .button.clear.heritage-purple:hover.disabled, .button.clear.heritage-purple:hover[disabled], .button.clear.heritage-purple:focus.disabled, .button.clear.heritage-purple:focus[disabled] {
          border: 1px solid #31006F;
          color: #31006F; }
      .button.clear.heritage-purple, .button.clear.heritage-purple.disabled, .button.clear.heritage-purple[disabled], .button.clear.heritage-purple:hover, .button.clear.heritage-purple:hover.disabled, .button.clear.heritage-purple:hover[disabled], .button.clear.heritage-purple:focus, .button.clear.heritage-purple:focus.disabled, .button.clear.heritage-purple: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: #006938; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #006938; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .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.dropdown.hollow.light-mink::after {
    border-top-color: #c5bfb7; }
  .button.dropdown.hollow.medium-mink::after {
    border-top-color: #776e64; }
  .button.dropdown.hollow.dark-mink::after {
    border-top-color: #373a36; }
  .button.dropdown.hollow.energy-green::after {
    border-top-color: #8EBB38; }
  .button.dropdown.hollow.energy-light-green::after {
    border-top-color: #A4BCAB; }
  .button.dropdown.hollow.energy-teal::after {
    border-top-color: #008894; }
  .button.dropdown.hollow.energy-yellow::after {
    border-top-color: #E7C311; }
  .button.dropdown.hollow.energy-orange::after {
    border-top-color: #D4762F; }
  .button.dropdown.hollow.energy-light-blue::after {
    border-top-color: #7EB2E2; }
  .button.dropdown.hollow.energy-blue::after {
    border-top-color: #567CC6; }
  .button.dropdown.hollow.energy-pink::after {
    border-top-color: #B61B66; }
  .button.dropdown.hollow.energy-purple::after {
    border-top-color: #50307F; }
  .button.dropdown.hollow.heritage-green::after {
    border-top-color: #006938; }
  .button.dropdown.hollow.heritage-green-alt::after {
    border-top-color: #497053; }
  .button.dropdown.hollow.heritage-teal::after {
    border-top-color: #005e6A; }
  .button.dropdown.hollow.heritage-yellow::after {
    border-top-color: #DBA91B; }
  .button.dropdown.hollow.heritage-orange::after {
    border-top-color: #C34614; }
  .button.dropdown.hollow.heritage-blue::after {
    border-top-color: #475DAA; }
  .button.dropdown.hollow.heritage-navy::after {
    border-top-color: #2E4487; }
  .button.dropdown.hollow.heritage-berry::after {
    border-top-color: #662656; }
  .button.dropdown.hollow.heritage-purple::after {
    border-top-color: #31006F; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

.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: #006938; }
  :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: #3A3C39; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #006938;
  color: #fefefe; }
  .badge.primary {
    background: #006938;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #3A3C39; }
  .badge.warning {
    background: #ffae00;
    color: #3A3C39; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }
  .badge.light-mink {
    background: #c5bfb7;
    color: #3A3C39; }
  .badge.medium-mink {
    background: #776e64;
    color: #fefefe; }
  .badge.dark-mink {
    background: #373a36;
    color: #fefefe; }
  .badge.energy-green {
    background: #8EBB38;
    color: #3A3C39; }
  .badge.energy-light-green {
    background: #A4BCAB;
    color: #3A3C39; }
  .badge.energy-teal {
    background: #008894;
    color: #fefefe; }
  .badge.energy-yellow {
    background: #E7C311;
    color: #3A3C39; }
  .badge.energy-orange {
    background: #D4762F;
    color: #3A3C39; }
  .badge.energy-light-blue {
    background: #7EB2E2;
    color: #3A3C39; }
  .badge.energy-blue {
    background: #567CC6;
    color: #fefefe; }
  .badge.energy-pink {
    background: #B61B66;
    color: #fefefe; }
  .badge.energy-purple {
    background: #50307F;
    color: #fefefe; }
  .badge.heritage-green {
    background: #006938;
    color: #fefefe; }
  .badge.heritage-green-alt {
    background: #497053;
    color: #fefefe; }
  .badge.heritage-teal {
    background: #005e6A;
    color: #fefefe; }
  .badge.heritage-yellow {
    background: #DBA91B;
    color: #3A3C39; }
  .badge.heritage-orange {
    background: #C34614;
    color: #fefefe; }
  .badge.heritage-blue {
    background: #475DAA;
    color: #fefefe; }
  .badge.heritage-navy {
    background: #2E4487;
    color: #fefefe; }
  .badge.heritage-berry {
    background: #662656;
    color: #fefefe; }
  .badge.heritage-purple {
    background: #31006F;
    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-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #3A3C39;
    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: #006938; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: none;
  border-radius: 0;
  background-color: #fefefe;
  color: #3A3C39; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #006938;
    color: #fefefe; }
  .callout.secondary {
    background-color: #767676;
    color: #fefefe; }
  .callout.success {
    background-color: #3adb76;
    color: #3A3C39; }
  .callout.warning {
    background-color: #ffae00;
    color: #3A3C39; }
  .callout.alert {
    background-color: #cc4b37;
    color: #fefefe; }
  .callout.light-mink {
    background-color: #c5bfb7;
    color: #3A3C39; }
  .callout.medium-mink {
    background-color: #776e64;
    color: #fefefe; }
  .callout.dark-mink {
    background-color: #373a36;
    color: #fefefe; }
  .callout.energy-green {
    background-color: #8ebb38;
    color: #3A3C39; }
  .callout.energy-light-green {
    background-color: #a4bcab;
    color: #3A3C39; }
  .callout.energy-teal {
    background-color: #008894;
    color: #fefefe; }
  .callout.energy-yellow {
    background-color: #e7c311;
    color: #3A3C39; }
  .callout.energy-orange {
    background-color: #d4762f;
    color: #3A3C39; }
  .callout.energy-light-blue {
    background-color: #7eb2e2;
    color: #3A3C39; }
  .callout.energy-blue {
    background-color: #567cc6;
    color: #fefefe; }
  .callout.energy-pink {
    background-color: #b61b66;
    color: #fefefe; }
  .callout.energy-purple {
    background-color: #50307f;
    color: #fefefe; }
  .callout.heritage-green {
    background-color: #006938;
    color: #fefefe; }
  .callout.heritage-green-alt {
    background-color: #497053;
    color: #fefefe; }
  .callout.heritage-teal {
    background-color: #005e6a;
    color: #fefefe; }
  .callout.heritage-yellow {
    background-color: #dba91b;
    color: #3A3C39; }
  .callout.heritage-orange {
    background-color: #c34614;
    color: #fefefe; }
  .callout.heritage-blue {
    background-color: #475daa;
    color: #fefefe; }
  .callout.heritage-navy {
    background-color: #2e4487;
    color: #fefefe; }
  .callout.heritage-berry {
    background-color: #662656;
    color: #fefefe; }
  .callout.heritage-purple {
    background-color: #31006f;
    color: #fefefe; }
  .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; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #3A3C39; }
  .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-box;
  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-box-orient: horizontal;
    -webkit-box-direction: normal;
    -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-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .menu.expanded li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }
  .menu.simple {
    -webkit-box-align: center;
    -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-box-orient: horizontal;
      -webkit-box-direction: normal;
      -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-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
      -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-box-orient: horizontal;
      -webkit-box-direction: normal;
      -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-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; } }
  @media screen and (min-width: 77.5em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -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-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
      -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-box-orient: horizontal;
      -webkit-box-direction: normal;
      -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-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column; }
    .menu.xxlarge-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
      flex: 1 1 0px; }
    .menu.xxlarge-simple li {
      -webkit-box-flex: 1;
      -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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -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-box-orient: horizontal;
    -webkit-box-direction: normal;
    -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-box-orient: vertical;
    -webkit-box-direction: normal;
    -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;
      align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -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;
      align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #006938;
    color: #fefefe; }
  .menu .active > a {
    background: #006938;
    color: #fefefe; }
  .menu.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
      -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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
      -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-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-box-pack: start;
      -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: #3A3C39;
    box-shadow: 0 7px 0 #3A3C39, 0 14px 0 #3A3C39;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  display: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  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; }

.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%; }

.media-object {
  display: -webkit-box;
  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-box-flex: 0;
  -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-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px; }

.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(58, 60, 57, 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(58, 60, 57, 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; }

.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: #006938;
  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: #005930; }
  .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(58, 60, 57, 0.45);
  overflow-y: scroll; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  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: 77.5rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 77.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 77.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 77.5rem; } }
  .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; }

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

@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: #f3f3f3; }

table.hover tfoot tr:hover {
  background-color: #ececec; }

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

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

.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-box-ordinal-group: 2;
    -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: #006938; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #007d43; }

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

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #3A3C39;
  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; }

.top-bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -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: #e6e6e6; }
  .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-box-flex: 0;
    -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-box-flex: 1;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin-right: auto; }
      .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -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-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%; } }
  @media screen and (max-width: 77.4375em) {
    .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-box-flex: 0;
        -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-box-flex: 0;
        -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-box-flex: 0;
      -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      max-width: 100%; }

.top-bar-title {
  -webkit-box-flex: 0;
  -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-box-flex: 0;
  -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: 77.4375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

@media screen and (max-width: 77.4375em), 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; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }

.clearfix::after {
  clear: both; }

.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; }

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

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

.align-justify {
  -webkit-box-pack: 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-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

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

.align-top {
  -webkit-box-align: start;
  -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-box-align: end;
  -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 {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

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

.align-stretch {
  -webkit-box-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;
  align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: 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-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
  -ms-flex-order: 5;
  order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
  -ms-flex-order: 6;
  order: 6; }

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

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

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

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

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

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row; }

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

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: 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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: 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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; } }

@media screen and (min-width: 77.5em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: 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-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; } }

/* KITCHEN SINK COMPONENTS */
/***
Colour Swatches
***/
/***
5 Tips
***/
.c-five-tips {
  overflow: hidden;
  position: relative; }

.c-five-tips:before,
.c-five-tips:after {
  content: '';
  position: absolute;
  bottom: 0;
  height: 31px; }

.c-five-tips:before {
  background: #fefefe;
  left: 0;
  width: 100px;
  z-index: 1; }

.c-five-tips:after {
  border-left: 7px solid #76BD22;
  border-bottom: 7px solid #76BD22;
  left: 100px;
  width: 100%;
  z-index: 2; }

.c-five-tips__blurb {
  background-color: #D41568;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 75px; }

.c-five-tips__blurb:before {
  content: '';
  background-color: #D41568;
  height: 100%;
  width: 999px;
  right: 100%;
  top: 0;
  position: absolute; }

.c-five-tips__blurb > div {
  margin: 0 40px 0 0; }

.c-five-tips__list {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.c-five-tips__item {
  border-top: 3px solid #76BD22;
  font-size: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.c-five-tips__item:first-child {
  margin-top: 75px; }

.c-five-tips__no {
  background-color: #D41568;
  color: #fefefe;
  font-family: "FSMaja", serif;
  font-size: 71px;
  font-weight: 300;
  line-height: 1;
  margin: 0 25px 0 0;
  min-width: 60px;
  max-width: 60px;
  padding: 0 25px 0 0;
  position: relative; }

.c-five-tips__item:first-of-type .c-five-tips__no:before {
  background: #D41568;
  content: '';
  height: 100%;
  position: absolute;
  top: -100%;
  width: 60px;
  z-index: -1; }

.c-five-tips__tip {
  margin: 15px 0 70px 0; }

@media screen and (max-width: 63.9375em) {
  .c-five-tips:before,
  .c-five-tips:after {
    border: none;
    position: relative; }
  .c-five-tips__blurb {
    padding: 40px 15px; }
  .c-five-tips__blurb:before,
  .c-five-tips__blurb:after {
    content: '';
    background-color: #D41568;
    height: 100%;
    width: 100px;
    right: 100%;
    position: absolute;
    top: 0; }
  .c-five-tips__blurb:after {
    left: 100%; }
  .c-five-tips__list {
    margin: 40px 0 0 0;
    padding: 0 15px; }
  .c-five-tips__no {
    background-color: transparent;
    color: #006938; }
  .c-five-tips__item:first-of-type .c-five-tips__no:before {
    background-color: transparent;
    position: relative; }
  .c-five-tips__item:first-child {
    margin-top: 0; }
  .c-five-tips__tip {
    margin: 15px 0 40px 0; } }

@media screen and (max-width: 39.9375em) {
  .c-five-tips__no {
    margin: 0; } }

.accordion {
  background: transparent;
  margin-bottom: 60px; }
  .accordion .accordion-item:first-child .accordion-title {
    border-top: none; }
  .accordion .accordion-item:last-child:not(.is-active) .accordion-title {
    border-bottom: none; }
  .accordion .accordion-title {
    border: none;
    font-size: 20px;
    padding-left: 0;
    padding-right: 0;
    color: #3A3C39;
    border-top: 1px solid #3A3C39;
    font-weight: 700;
    text-decoration: none; }
    .accordion .accordion-title:hover, .accordion .accordion-title:focus {
      background: transparent; }
  .accordion .accordion-content {
    border: none;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
    font-size: 16px; }
    .accordion .accordion-content p, .accordion .accordion-content li, .accordion .accordion-content th, .accordion .accordion-content td {
      font-size: 16px; }
    .accordion .accordion-content:last-child {
      border-bottom: 0; }
  @media screen and (max-width: 63.9375em) {
    .accordion .accordion-content {
      padding: 30px 50px; } }
  @media screen and (max-width: 39.9375em) {
    .accordion .accordion-content {
      padding: 30px; } }

.u-white--all .accordion-title {
  border-color: #fefefe; }

.u-white--all .accordion-title:before {
  background-color: transparent !important; }

@media screen and (max-width: 89.9375em) {
  .accordion {
    margin-bottom: 40px; } }

/***
Bleed Feature Image
***/
.c-bleed-feature__text-container {
  background-color: #FFFFFF;
  position: relative;
  padding: 40px 33px;
  margin: 140px 15px 0;
  max-width: 534px;
  font-size: 20px;
  float: right; }

.c-bleed-feature__text-container h2 {
  margin: 0 0 40px 0; }

.c-bleed-feature--image-right .c-bleed-feature__text-container {
  float: left; }

.c-bleed-feature__image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 50px;
  width: 73%; }

.c-bleed-feature__image:before {
  content: '';
  position: absolute;
  height: 31px;
  width: 100%;
  top: 0;
  left: 0;
  border-right: 7px solid #3B6938;
  border-top: 7px solid #3B6938; }

.c-bleed-feature--image-right .c-bleed-feature__image {
  right: 0;
  left: initial; }

.c-bleed-feature--image-right .c-bleed-feature__image:before {
  border-right: none;
  border-left: 7px solid #3B6938;
  border-top: 7px solid #3B6938; }

.c-bleed-feature__container {
  min-height: 750px;
  position: relative;
  overflow: hidden; }

.c-bleed-feature__container:before {
  content: '';
  position: absolute;
  top: 100px;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #8ebb38; }

@media screen and (max-width: 1023px) {
  .c-bleed-feature__container {
    min-height: 520px; }
  .c-bleed-feature__image {
    bottom: 65px;
    width: 72%; }
  .c-bleed-feature__container:before {
    top: 50px; }
  .c-bleed-feature__text-container {
    margin: 80px 15px 0; } }

@media screen and (max-width: 639px) {
  .c-bleed-feature__container {
    min-height: initial;
    padding: 0 0 15px 0; }
  .c-bleed-feature__container:before {
    top: 150px; }
  .c-bleed-feature__image {
    position: relative;
    padding: 35% 0;
    width: 100%;
    left: -15px; }
  .c-bleed-feature--image-right .c-bleed-feature__image {
    right: -15px;
    left: initial; }
  .c-bleed-feature--image-right .c-bleed-feature__text-container,
  .c-bleed-feature__text-container {
    min-width: inherit;
    max-width: inherit;
    margin: -50px 15px 0;
    padding: 30px 40px;
    float: none; } }

.breadcrumbs {
  border-bottom: none;
  padding: 35px 0;
  margin-bottom: 0; }
  .breadcrumbs > li {
    font-size: 1rem;
    text-transform: none;
    position: relative;
    display: inline-block; }
    .breadcrumbs > li::after {
      margin: 0 5px !important; }

.breadcrumbs__item--has-submenu::after,
.c-internal-dropdown-menu > li::after {
  content: "\e981" !important;
  font-family: "uos" !important;
  font-size: 12px;
  cursor: pointer; }

.breadcrumbs__item--has-submenu.is-active::after,
.c-internal-dropdown-menu > li.is-active::after {
  content: "\e979" !important; }

.breadcrumbs > li {
  margin: 10px 30px 10px 0; }
  .breadcrumbs > li:last-child {
    font-weight: 700; }

.breadcrumbs > li:first-child {
  font-weight: bold; }
  .breadcrumbs > li:first-child::after {
    content: "\e97b";
    font-family: "uos";
    font-size: 12px;
    color: #3B6938; }

.breadcrumbs > li:not(:last-child)::after {
  content: "\e97b";
  font-family: "uos";
  color: #3B6938;
  font-size: 12px; }

.breadcrumbs > li.breadcrumbs__item--has-submenu::after {
  color: #006938 !important; }

.breadcrumbs.breadcrumbs--internal a,
.c-internal-dropdown-menu a {
  color: #fefefe; }

.breadcrumbs.breadcrumbs--internal > li,
.c-internal-dropdown-menu > li {
  position: relative;
  font-size: 16px;
  margin-right: 16px;
  line-height: 24px; }
  .breadcrumbs.breadcrumbs--internal > li > a,
  .c-internal-dropdown-menu > li > a {
    padding: 0; }
    .breadcrumbs.breadcrumbs--internal > li > a:hover,
    .c-internal-dropdown-menu > li > a:hover {
      text-decoration: underline; }

.c-internal-dropdown-menu__wrapper {
  position: absolute;
  bottom: 0;
  right: 0; }

.c-internal-dropdown-menu {
  list-style: none;
  margin: 0; }
  .c-internal-dropdown-menu > li > a {
    font-weight: 700;
    color: #3A3C39; }
  .c-internal-dropdown-menu > li::after {
    color: #fefefe !important;
    margin-left: 10px; }

.breadcrumbs.breadcrumbs--internal > li {
  margin: 10px 30px 10px 0; }
  .breadcrumbs.breadcrumbs--internal > li:first-child {
    font-weight: 400; }
  .breadcrumbs.breadcrumbs--internal > li:not(:last-child)::after {
    position: relative;
    opacity: 1;
    color: #cacaca;
    content: "\e97b";
    font-family: "uos";
    color: #fefefe; }
  .breadcrumbs.breadcrumbs--internal > li.breadcrumbs__item--has-submenu::after {
    color: #fefefe !important; }

.c-internal-dropdown-menu > li > a {
  font-size: 16px; }

.breadcrumbs li ul {
  left: -25px; }

.breadcrumbs li ul,
.c-internal-dropdown-menu li ul {
  display: none;
  position: absolute;
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 9;
  top: 100%;
  padding: 50px 0 20px 0;
  min-width: 30ch; }
  .breadcrumbs li ul::after,
  .c-internal-dropdown-menu li ul::after {
    content: ' ';
    position: absolute;
    left: 0;
    bottom: -5px;
    height: 5px;
    width: 100%;
    border-bottom: 5px solid #000;
    opacity: 0.2; }
  .breadcrumbs li ul li,
  .c-internal-dropdown-menu li ul li {
    float: none;
    padding: 2px 25px;
    font-size: 16px;
    text-transform: none;
    font-weight: normal; }
    .breadcrumbs li ul li::after,
    .c-internal-dropdown-menu li ul li::after {
      content: ""; }
    .breadcrumbs li ul li .currentsection,
    .c-internal-dropdown-menu li ul li .currentsection {
      font-weight: 700;
      color: #cacaca; }
    .breadcrumbs li ul li:not(:last-child)::after,
    .c-internal-dropdown-menu li ul li:not(:last-child)::after {
      content: none; }

.c-internal-dropdown-menu li ul a:hover {
  text-decoration: underline !important; }

.breadcrumbs li ul {
  background-color: #f6f5f4; }
  .breadcrumbs li ul li:first-child::after {
    content: none; }
  .breadcrumbs li ul li:first-child a {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #cacaca;
    display: block; }

.breadcrumbs.breadcrumbs--internal li ul,
.c-internal-dropdown-menu li ul {
  background: #006938; }
  .breadcrumbs.breadcrumbs--internal li ul a,
  .c-internal-dropdown-menu li ul a {
    color: #fefefe; }

.breadcrumbs > li.is-active > ul,
.c-internal-dropdown-menu > li.is-active > ul {
  display: block; }

/**
 * This is basically just a copy and paste job from foundation, some items are
 * commented out. To overwrite anything, uncomment and re-declare the styles
 */
.button {
  border: 2px solid transparent;
  position: relative;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  /* easeOutQuart */ }
  .button.tiny {
    padding: 1.1em 1em; }
  .button.small {
    padding: 1.1em 1em; }
  .button.large {
    padding: 69px 20px; }
  .button:after {
    content: "\e97b";
    font-family: 'uos';
    margin: 0 0 0 10px;
    position: relative; }
  .button.no-arrow:after {
    content: '';
    margin: 0; }
  .button.button-gap--right {
    margin-right: 30px; }
  .button.button-gap--right:last-child {
    margin-right: 0; }
  .button.button-gap--left {
    margin-left: 30px; }
  .button.button-gap--left:last-child {
    margin-left: 0; }
  .button.primary:hover {
    background-color: #FFFFFF;
    border-color: #006938;
    color: #006938; }
  .button.secondary:hover {
    background-color: #FFFFFF;
    border-color: #767676;
    color: #767676; }
  .button.success:hover {
    background-color: #FFFFFF;
    border-color: #3adb76;
    color: #3adb76; }
  .button.warning:hover {
    background-color: #FFFFFF;
    border-color: #ffae00;
    color: #ffae00; }
  .button.alert:hover {
    background-color: #FFFFFF;
    border-color: #cc4b37;
    color: #cc4b37; }
  .button.light-mink:hover {
    background-color: #FFFFFF;
    border-color: #c5bfb7;
    color: #c5bfb7; }
  .button.medium-mink:hover {
    background-color: #FFFFFF;
    border-color: #776e64;
    color: #776e64; }
  .button.dark-mink:hover {
    background-color: #FFFFFF;
    border-color: #373a36;
    color: #373a36; }
  .button.energy-green:hover {
    background-color: #FFFFFF;
    border-color: #8EBB38;
    color: #8EBB38; }
  .button.energy-light-green:hover {
    background-color: #FFFFFF;
    border-color: #A4BCAB;
    color: #A4BCAB; }
  .button.energy-teal:hover {
    background-color: #FFFFFF;
    border-color: #008894;
    color: #008894; }
  .button.energy-yellow:hover {
    background-color: #FFFFFF;
    border-color: #E7C311;
    color: #E7C311; }
  .button.energy-orange:hover {
    background-color: #FFFFFF;
    border-color: #D4762F;
    color: #D4762F; }
  .button.energy-light-blue:hover {
    background-color: #FFFFFF;
    border-color: #7EB2E2;
    color: #7EB2E2; }
  .button.energy-blue:hover {
    background-color: #FFFFFF;
    border-color: #567CC6;
    color: #567CC6; }
  .button.energy-pink:hover {
    background-color: #FFFFFF;
    border-color: #B61B66;
    color: #B61B66; }
  .button.energy-purple:hover {
    background-color: #FFFFFF;
    border-color: #50307F;
    color: #50307F; }
  .button.heritage-green:hover {
    background-color: #FFFFFF;
    border-color: #006938;
    color: #006938; }
  .button.heritage-green-alt:hover {
    background-color: #FFFFFF;
    border-color: #497053;
    color: #497053; }
  .button.heritage-teal:hover {
    background-color: #FFFFFF;
    border-color: #005e6A;
    color: #005e6A; }
  .button.heritage-yellow:hover {
    background-color: #FFFFFF;
    border-color: #DBA91B;
    color: #DBA91B; }
  .button.heritage-orange:hover {
    background-color: #FFFFFF;
    border-color: #C34614;
    color: #C34614; }
  .button.heritage-blue:hover {
    background-color: #FFFFFF;
    border-color: #475DAA;
    color: #475DAA; }
  .button.heritage-navy:hover {
    background-color: #FFFFFF;
    border-color: #2E4487;
    color: #2E4487; }
  .button.heritage-berry:hover {
    background-color: #FFFFFF;
    border-color: #662656;
    color: #662656; }
  .button.heritage-purple:hover {
    background-color: #FFFFFF;
    border-color: #31006F;
    color: #31006F; }

@media screen and (max-width: 63.9375em) {
  .button {
    font-size: 1rem; } }

.c-long-button {
  font-size: 20px;
  margin-bottom: 12px;
  padding: 11px 15px;
  text-align: left; }
  .c-long-button::after {
    position: absolute;
    right: 10px; }

.c-long-button__badge {
  font-size: 16px;
  position: absolute;
  right: 0;
  margin-right: 50px; }

@media screen and (max-width: 63.9375em) {
  .button {
    font-size: 18px; }
  .c-contact-section .button {
    margin-bottom: 20px; }
  .button.x-large {
    padding: 18px; } }

@media screen and (max-width: 39.9375em) {
  .c-long-button {
    line-height: 1.6; } }

.c-dropdown-wrapper {
  display: inline-block;
  position: relative; }
  .c-dropdown-wrapper .button--dropdown {
    margin: 0; }
    .c-dropdown-wrapper .button--dropdown:after {
      content: "\e979"; }
  .c-dropdown-wrapper .dropdown-pane {
    border: 0px solid #cacaca;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.12);
    width: 100%; }
    .c-dropdown-wrapper .dropdown-pane ul {
      list-style: none;
      margin: 0;
      padding: 0; }
    .c-dropdown-wrapper .dropdown-pane a {
      border-bottom: 0px solid #006938; }
    .c-dropdown-wrapper .dropdown-pane a:hover {
      text-decoration: underline; }

.c-top-edge-callout {
  margin: 0;
  display: none; }
  .c-top-edge-callout a {
    color: #fefefe;
    border-bottom: 2px solid #fefefe !important; }
  .c-top-edge-callout .close-button {
    top: auto;
    color: #fefefe; }

/***
Contact Us Section
***/
.c-contact-section h2 {
  font-size: 48px;
  margin: 0 0 60px 0; }

.c-contact-section span[class^="uos-"] {
  font-size: 32px;
  margin: 0 15px 0 0; }

@media screen and (max-width: 89.9375em) {
  .c-contact-section h2 {
    margin: 0 0 40px 0; } }

@media screen and (max-width: 39.9375em) {
  .c-contact-section h2 {
    font-size: 32px; } }

.c-form [type='text'], .c-form [type='password'],
.c-form [type='date'], .c-form [type='datetime'],
.c-form [type='datetime-local'], .c-form [type='month'],
.c-form [type='week'], .c-form [type='email'],
.c-form [type='number'], .c-form [type='search'],
.c-form [type='tel'], .c-form [type='time'],
.c-form [type='url'], .c-form [type='color'],
.c-form textarea, .c-form select,
.c-form [type='text']:focus, .c-form [type='password']:focus,
.c-form [type='date']:focus, .c-form [type='datetime']:focus,
.c-form [type='datetime-local']:focus, .c-form [type='month']:focus,
.c-form [type='week']:focus, .c-form [type='email']:focus,
.c-form [type='number']:focus, .c-form [type='search']:focus,
.c-form [type='tel']:focus, .c-form [type='time']:focus,
.c-form [type='url']:focus, .c-form [type='color']:focus,
.c-form textarea:focus, .c-form select:focus {
  background-color: #fefefe;
  border: 1px solid #979797;
  font-size: 20px;
  margin: 0 0 20px;
  min-height: 70px;
  padding: 0 20px; }

.c-form textarea,
.c-form textarea:focus {
  padding: 20px; }

.c-form [type="submit"]:not(.c-course-search__button) {
  margin: 40px 0 60px; }

.c-form label {
  font-size: 20px;
  margin: 0 0 10px 0; }

.c-form h2 {
  margin: 60px 0; }

.c-form button {
  width: 100%; }

@media screen and (max-width: 89.9375em) {
  .c-form [type='text'], .c-form [type='password'],
  .c-form [type='date'], .c-form [type='datetime'],
  .c-form [type='datetime-local'], .c-form [type='month'],
  .c-form [type='week'], .c-form [type='email'],
  .c-form [type='number'], .c-form [type='search'],
  .c-form [type='tel'], .c-form [type='time'],
  .c-form [type='url'], .c-form [type='color'],
  .c-form textarea, .c-form select,
  .c-form [type='text']:focus, .c-form [type='password']:focus,
  .c-form [type='date']:focus, .c-form [type='datetime']:focus,
  .c-form [type='datetime-local']:focus, .c-form [type='month']:focus,
  .c-form [type='week']:focus, .c-form [type='email']:focus,
  .c-form [type='number']:focus, .c-form [type='search']:focus,
  .c-form [type='tel']:focus, .c-form [type='time']:focus,
  .c-form [type='url']:focus, .c-form [type='color']:focus,
  .c-form textarea:focus, .c-form select:focus {
    font-size: 16px;
    min-height: 52px; }
  .c-form [type="submit"]:not(.c-course-search__button) {
    margin: 20px 0 40px; }
  .c-form label {
    font-size: 16px; }
  .c-form h2 {
    margin: 40px 0; }
  .c-form button {
    padding: 13px 28px; } }

@media screen and (max-width: 39.9375em) {
  .c-form p {
    font-size: 16px; }
  .c-form [type='text'], .c-form [type='password'],
  .c-form [type='date'], .c-form [type='datetime'],
  .c-form [type='datetime-local'], .c-form [type='month'],
  .c-form [type='week'], .c-form [type='email'],
  .c-form [type='number'], .c-form [type='search'],
  .c-form [type='tel'], .c-form [type='time'],
  .c-form [type='url'], .c-form [type='color'],
  .c-form textarea, .c-form select,
  .c-form [type='text']:focus, .c-form [type='password']:focus,
  .c-form [type='date']:focus, .c-form [type='datetime']:focus,
  .c-form [type='datetime-local']:focus, .c-form [type='month']:focus,
  .c-form [type='week']:focus, .c-form [type='email']:focus,
  .c-form [type='number']:focus, .c-form [type='search']:focus,
  .c-form [type='tel']:focus, .c-form [type='time']:focus,
  .c-form [type='url']:focus, .c-form [type='color']:focus,
  .c-form textarea:focus, .c-form select:focus {
    font-size: 14px;
    min-height: 40px; }
  .c-form label {
    font-size: 14px; }
  .c-form button {
    padding: 9px 28px; } }

/***
Photo Galleries
***/
.c-photo-gallery__thumb {
  background-position: center 15%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  min-height: 235px;
  position: relative; }

@media screen and (max-width: 39.9375em) {
  .c-photo-gallery .cell {
    padding: 15px 30px; } }

/*
Accommodation Photo Gallery
***/
@media screen and (max-width: 39.9375em) {
  .c-photo-gallery__accommodation .cell {
    padding: 15px 15px 15px 30px; }
  .c-photo-gallery__accommodation .cell:nth-child(2n) {
    padding: 15px 30px 0px 15px; } }

/***
Half N Half
***/
.c-half-n-half {
  margin: 0 0 60px 0; }

.c-half-n-half:first-of-type {
  margin: 60px 0; }

.c-half-n-half__image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 58%;
  height: 100%;
  max-width: 708px;
  position: absolute;
  top: 0; }

.c-half-n-half__content,
.c-wrapper.u-bg-white .c-half-n-half__content {
  background-color: #f6f5f4;
  min-height: 333px;
  padding: 65px 50px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.c-wrapper .c-half-n-half__content {
  background-color: #fefefe; }

.c-half-n-half__header {
  color: #3A3C39;
  font-family: "Open Sans", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 140%;
  margin: 0 0 16px 0; }

.c-half-n-half__copy p,
.c-half-n-half ul li {
  font-size: 16px; }

.c-half-n-half:nth-of-type(odd) .c-half-n-half__image {
  left: 0;
  margin-left: 15px; }

.c-half-n-half:nth-of-type(even) .c-half-n-half__image {
  right: 0;
  margin-right: 15px; }

.c-half-n-half:nth-of-type(odd) .c-half-n-half__content {
  margin: 70px 0 70px 50%; }

.c-half-n-half:nth-of-type(even) .c-half-n-half__content {
  margin: 70px 50% 70px 0; }

.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__header,
.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__copy p,
.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__copy ul li,
.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__copy a,
.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__copy a:after {
  color: #3A3C39 !important; }

.c-wrapper[class*="u-bg-"] .c-half-n-half .c-half-n-half__copy a:after {
  background-color: #3A3C39 !important; }

/***
.c-half-n-half__copy Content Blockquote
***/
.c-half-n-half__copy p + blockquote {
  margin: 60px auto 0; }

.c-half-n-half__copy blockquote {
  border-left: 5px solid #76BD22;
  font-weight: 600;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 0 0 30px; }
  .c-half-n-half__copy blockquote p {
    color: #006938 !important;
    line-height: 1.5; }
    .c-half-n-half__copy blockquote p::before {
      content: open-quote; }
    .c-half-n-half__copy blockquote p::after {
      content: close-quote; }

.c-half-n-half__copy .quote-attribute {
  font-weight: 600;
  margin: 0 auto 16px;
  max-width: 960px;
  padding-left: 35px; }

@media screen and (max-width: 89.9375em) {
  .c-half-n-half:first-of-type {
    margin: 40px 0; }
  .c-half-n-half__copy p + blockquote {
    margin: 40px auto 0; }
  .c-half-n-half__copy .quote-attribute {
    margin: 0 auto 40px; } }

@media screen and (max-width: 89.9375em) {
  .c-half-n-half {
    margin: 0 0 40px 0; } }

@media screen and (max-width: 63.9375em) {
  .c-half-n-half {
    margin: 0 0 40px 0; }
  .c-half-n-half:first-of-type {
    margin: 40px 0; }
  .c-half-n-half__image {
    height: 430px;
    position: relative;
    width: 100%;
    max-width: 100%; }
  .c-half-n-half:nth-child(odd) .c-half-n-half__image,
  .c-half-n-half:nth-child(even) .c-half-n-half__image {
    margin: 0; }
  .c-half-n-half:nth-child(odd) .c-half-n-half__content,
  .c-half-n-half:nth-child(even) .c-half-n-half__content {
    margin: 0; }
  .c-half-n-half__content {
    min-height: initial;
    padding: 20px; } }

@media screen and (max-width: 39.9375em) {
  .c-half-n-half__image {
    height: 250px; } }

/***
Infographic Section
***/
.c-infographic {
  overflow: hidden; }

.c-infographic__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  text-align: center; }

.c-infographic__image {
  max-width: 250px; }

.c-infographic__header {
  font-size: 90px;
  margin: 25px 0 10px;
  text-align: center; }

.c-infographic__line1 {
  font-size: 36px;
  font-weight: 700;
  margin: 0 0 5px 0; }

.c-infographic__line2 {
  font-size: 20px;
  margin: 0; }

.c-infographic-block__link {
  position: absolute;
  bottom: 0;
  right: 0; }

.c-infographic-block.slick-dotted.slick-slider {
  margin-bottom: 0; }

@media screen and (max-width: 89.9375em) {
  .c-infographic {
    padding: 40px 30px 50px; }
  .c-infographic__image {
    max-width: 230px; }
  .c-infographic__header {
    font-size: 58px;
    margin: 50px 0 0; }
  .c-infographic__line1 {
    font-size: 28px; }
  .c-infographic__line2 {
    font-size: 18px; }
  .c-infographic-block .slick-dots li {
    border: 2px solid #fefefe;
    height: 12px;
    width: 12px; } }

@media screen and (max-width: 63.9375em) {
  .c-infographic {
    padding: 20px 30px 50px; }
  .c-infographic__image {
    max-width: 187px; }
  .c-infographic__header {
    font-size: 42px;
    margin: 20px 0 0; }
  .c-infographic__line1 {
    font-size: 22px; }
  .c-infographic__line2 {
    font-size: 16px; } }

@media screen and (max-width: 39.9375em) {
  .c-infographic {
    padding: 20px 30px; }
  .c-infographic__line2 {
    margin: 0; }
  .c-infographic-block__link {
    position: relative;
    margin: 25px 0; } }

/***
 Masthead
***/
.c-masthead {
  overflow: hidden;
  position: relative; }

.c-masthead__image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  max-height: 689px;
  min-height: 689px;
  position: relative; }

.c-masthead__image:after {
  content: '';
  position: absolute;
  width: 100%;
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  left: 0;
  top: 0; }

.c-masthead__container {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  padding: 0 15px;
  z-index: 1; }

.c-masthead__callout-text {
  color: #FFFFFF;
  padding: 20px 20px 20px 0;
  line-height: 85%;
  margin: 0;
  position: relative; }

.c-masthead__callout-text:after {
  content: '';
  position: absolute;
  height: 31px;
  bottom: 0;
  right: 0;
  width: 9999px;
  border-right: 7px solid #fefefe;
  border-bottom: 7px solid #fefefe; }

.c-masthead--eject .c-masthead__callout-text {
  font-size: 60px;
  margin-bottom: 20px; }

.c-masthead--opacity {
  color: rgba(255, 255, 255, 0.7); }

.c-masthead .button:last-child {
  margin-bottom: 0; }

/*
Masthead Buttons
***/
.c-masthead__button-group {
  margin: 0; }

.c-masthead__button-group .button {
  margin: 50px 30px 0 0; }

.c-masthead__button-group .button:last-child {
  margin: 50px 0 0; }

@media screen and (max-width: 89.9375em) {
  .c-masthead__image {
    min-height: 500px;
    max-height: initial; }
  .c-masthead--eject .c-masthead__container {
    margin: 0 auto 60px; }
  .c-masthead .c-masthead__callout-text {
    font-size: 72px; }
  .c-masthead--eject .c-masthead__callout-text {
    font-size: 44px; } }

@media screen and (max-width: 39.9375em) {
  .c-masthead__image {
    min-height: 256px;
    max-height: initial; }
  .c-masthead .c-masthead__container {
    bottom: 0;
    padding: 0 15px 20px;
    position: relative;
    margin: 0; }
  .c-masthead .c-masthead__callout-text {
    color: #006938;
    font-size: 51px; }
  .c-masthead .c-masthead__callout-text:after {
    border-right: 7px solid #006938;
    border-bottom: 7px solid #006938; }
  /*
    Masthead Buttons
    ***/
  .c-masthead__button-group .button {
    display: block;
    width: 100%;
    margin: 20px 0; }
  .c-masthead__button-group .button:last-child {
    margin: 20px 0 0; } }

@media screen and (max-width: 500px) {
  .c-masthead .c-masthead__callout-text {
    font-size: 40px; } }

/***
Masthead - News Pages
***/
.c-masthead--news {
  overflow: visible; }

.c-masthead--news .c-masthead__callout-text {
  font-size: 60px;
  margin: 0 20px; }

/***
Image with text block
***/
.c-image-text-block {
  position: relative;
  padding: 100px 0;
  width: 100%; }

.c-image-text-block > .grid-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 530px; }

.c-image-text-block--fixed {
  margin: 0 auto;
  max-width: 1240px; }

.c-image-text-block--right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.c-image-text-block__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: -1; }

.c-image-text-block__alt-header {
  color: #3A3C39;
  font-family: "Open Sans", sans-serif;
  font-size: 32px;
  margin: 0 0 32px 0; }

.c-image-text-block__content {
  background-color: #FFFFFF;
  margin: 0 25px;
  max-width: 417px;
  min-width: 417px;
  padding: 43px 30px; }

.c-image-text-block__content h2 {
  margin: 0 0 40px 0; }

@media screen and (max-width: 89.9375em) {
  .c-image-text-block {
    position: relative;
    padding: 80px 0; }
  .c-image-text-block > .grid-container {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 330px; } }

@media screen and (min-width: 40em) and (max-width: 77.4375em) {
  .c-image-text-block__image {
    background-size: cover;
    background-position: 30% 50%; } }

@media screen and (max-width: 77.4375em) {
  .c-image-text-block__wrapper {
    min-height: initial;
    padding: 40px 50px; } }

@media screen and (max-width: 39.9375em) {
  .c-image-text-block {
    padding: 0; }
  .c-image-text-block > .grid-container {
    display: block;
    min-height: initial; }
  .c-image-text-block__image {
    background-position: center center;
    padding: 30% 0;
    position: relative; }
  .c-image-text-block__content {
    max-width: none;
    min-width: initial;
    padding: 40px 30px;
    margin: 0; }
  .c-image-text-block__wrapper {
    padding: 30px; } }

.c-link:after, .megamenu .megamenu__links > ul > li > a:after, .megamenu .megamenu__links > ul > li > ul > li > a:after {
  content: "\e97b";
  font-family: 'uos';
  margin: 0 0 0 10px; }

.c-link, .megamenu .megamenu__links > ul > li > a, .megamenu .megamenu__links > ul > li > ul > li > a {
  border: none;
  display: inline-block;
  font-size: 20px;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  position: relative;
  text-decoration: none; }

.c-link:before, .megamenu .megamenu__links > ul > li > a:before, .megamenu .megamenu__links > ul > li > ul > li > a:before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #006938;
  transition: width 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); }

.c-link.u-black:hover, .megamenu .megamenu__links > ul > li > a.u-black:hover, .megamenu .megamenu__links > ul > li > ul > li > a.u-black:hover {
  color: #3A3C39; }

.c-link.u-black:before, .megamenu .megamenu__links > ul > li > a.u-black:before, .megamenu .megamenu__links > ul > li > ul > li > a.u-black:before {
  background-color: #3A3C39; }

.c-link.u-white:hover, .megamenu .megamenu__links > ul > li > a.u-white:hover, .megamenu .megamenu__links > ul > li > ul > li > a.u-white:hover {
  color: #fefefe; }

.c-link.u-white:before, .megamenu .megamenu__links > ul > li > a.u-white:before, .megamenu .megamenu__links > ul > li > ul > li > a.u-white:before {
  background-color: #fefefe; }

.c-link:hover:before, .megamenu .megamenu__links > ul > li > a:hover:before, .megamenu .megamenu__links > ul > li > ul > li > a:hover:before {
  width: 100%; }

ul .c-link, .megamenu .megamenu__links > ul > li > a, .megamenu .megamenu__links > ul > li > ul > li > a {
  margin: 0 0 10px 0; }

.c-link.no-arrow:after, .megamenu .megamenu__links > ul > li > a.no-arrow:after, .megamenu .megamenu__links > ul > li > ul > li > a.no-arrow:after {
  content: ''; }

.c-wysiwyg-content li a {
  border-bottom: 2px solid #006938; }

ul.pagination {
  list-style: none;
  margin: 0;
  padding: 0; }

ul.pagination li {
  border-radius: 0;
  display: inline-block;
  margin-right: 5px; }

ul.pagination li a {
  border-radius: 0;
  padding: 3px 11px; }

.pagination .currentpage {
  background: #006938;
  color: #fefefe;
  padding: 3px 11px; }

/***
Past Recordings
***/
.c-recording:nth-of-type(2n+1) {
  background-color: #f6f5f4; }

.c-recording__details {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px 0; }

.c-recording__details span[class^="uos-"] {
  color: #006938;
  font-size: 60px;
  margin: 0 25px 0 0; }

.c-recording__author {
  margin: 0 40px 0 0; }

.c-recording__details p {
  margin: 0; }

@media screen and (max-width: 39.9375em) {
  .c-recording__details {
    display: block; }
  .c-recording__author {
    margin: 0 0 20px 0; } }

/***
Promo Box
***/
.c-promo-box {
  padding: 15px 0;
  position: relative; }

.c-promo-box:not(.c-promo-box--plain):not(.c-promo-box--image):after {
  content: '';
  background-color: #76BD22;
  height: 3px;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: 15px;
  width: calc(100% - 30px); }

.c-promo-box > div:not(.c-promo-box__layout-container) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%; }

.c-promo-box__content,
.c-promo-box__icon {
  padding-top: 23px; }

.c-promo-box__icon {
  padding-right: 20px; }

.c-promo-box__layout-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
  width: 100%; }

.c-promo-box__header {
  color: #3A3C39;
  font-family: "Open Sans", sans-serif;
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 16px 0;
  padding: 0; }

.c-promo-box__header:after {
  position: relative; }

.c-promo-box__content p,
.c-promo-box__content ul li {
  font-size: 16px; }

/***
Promo Box with Icon
***/
.c-promo-box.c-promo-box--icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.c-promo-box__icon span[class^="uos-"] {
  color: #006938;
  display: inline-block;
  font-size: 25px; }

/***
Promo Box with Image
***/
.c-promo-box--image .c-promo-box__content {
  border: none;
  height: 100%;
  padding-top: 0; }

.c-promo-box--image .c-promo-box__content > div span {
  display: block;
  position: relative; }

.c-promo-box--image .c-promo-box__content > div span:after {
  content: '';
  display: block;
  background-color: #76BD22;
  bottom: 0;
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%; }

.c-promo-box--image .c-promo-box__header {
  margin-top: 20px; }

/***
Promo Box - Pink Line
***/
.c-promo-box.c-promo-box--energy-pink:not(.c-promo-box--plain):not(.c-promo-box--image):after {
  background-color: #D41568; }

/***
Promo Box - Plain
***/
.c-promo-box--plain .c-promo-box__content {
  border: none;
  padding-top: 0; }

@media screen and (max-width: 39.9375em) {
  .c-promo-box:not(.c-promo-box--plain):not(.c-promo-box--image):after {
    width: calc(100% - 60px); } }

/***
IE10+ specific styles go here
***/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .c-promo-box__icon {
    margin-right: 20px; } }

.slick-dots {
  bottom: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  width: auto; }

.c-wrapper:not(.c-infographic) ul.slick-dots {
  bottom: 0; }

.slick-dotted.slick-slider {
  margin: 0 30px; }

.slick-dots li {
  border: 2px solid #979797;
  transition: background-color 0.3s ease-in-out; }

.slick-dots li button:before {
  content: ''; }

.slick-dots li.slick-active {
  background-color: #3B6938; }

@media screen and (max-width: 63.9375em) {
  .slick-dots {
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; } }

/***
Slick Pagers
***/
.u-white--all .slick-dots li {
  border: 3px solid #fefefe;
  height: 16px;
  width: 16px; }

.u-white--all .slick-dots li.slick-active {
  background-color: #fefefe; }

table {
  border-top: 5px solid #8EBB38;
  margin: 0 auto; }
  table thead,
  table tbody,
  table tfoot {
    border: none; }
  table thead,
  table tbody tr:nth-child(even) {
    background-color: #F8F8F7; }
  table th {
    vertical-align: middle; }
  table tbody {
    background-color: #F0EFEE; }
  table td,
  table td p,
  table ul li {
    font-size: 16px; }
  table td,
  table td p:last-of-type,
  table ul li {
    margin: 0; }
  table th,
  table td {
    padding: 20px 30px; }

.c-wrapper.u-bg-grey table tbody tr:nth-child(even) {
  background-color: #fefefe; }

table.c-table--unstriped thead,
table.c-table--unstriped tbody tr {
  background-color: #F8F8F7; }

.c-wysiwyg-content table {
  margin-bottom: 1rem; }

@media screen and (max-width: 39.9375em) {
  td,
  th {
    padding: 10px 15px; } }

.table-scroll table {
  width: 100%; }

.c-table__header,
table caption {
  color: #006938;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 28px 0;
  padding: 0;
  text-align: left; }

.c-table__header:after {
  background-color: transparent;
  position: relative; }

.tabs--light .tabs,
.tabs--light .accordion {
  border: none; }
  .tabs--light .tabs .accordion-item.is-active a,
  .tabs--light .tabs .tabs-title > a:hover,
  .tabs--light .tabs .tabs-title > a:focus,
  .tabs--light .tabs .tabs-title > a[aria-selected='true'],
  .tabs--light .accordion .accordion-item.is-active a,
  .tabs--light .accordion .tabs-title > a:hover,
  .tabs--light .accordion .tabs-title > a:focus,
  .tabs--light .accordion .tabs-title > a[aria-selected='true'] {
    background-color: transparent;
    color: #006938;
    outline: none; }
  .tabs--light .tabs .tabs-title:last-child a,
  .tabs--light .accordion .tabs-title:last-child a {
    margin: 0 0 40px 0; }
  .tabs--light .tabs .accordion-item a,
  .tabs--light .tabs .tabs-title > a,
  .tabs--light .accordion .accordion-item a,
  .tabs--light .accordion .tabs-title > a {
    display: block;
    border: none;
    font-size: 22px;
    font-weight: 700;
    color: #95989A;
    outline: none;
    position: relative;
    margin: 0 80px 40px 0;
    padding: 0 0 40px 0; }
  .tabs--light .tabs .tabs-title > a[aria-selected='true']:after,
  .tabs--light .accordion .tabs-title > a[aria-selected='true']:after {
    background: #8EBB38;
    bottom: 0px;
    content: '';
    height: 8px;
    left: 0;
    width: 100%;
    position: absolute; }
  .tabs--light .tabs .accordion-item,
  .tabs--light .accordion .accordion-item {
    border-top: 1px solid #3A3C39; }
  .tabs--light .tabs .accordion-item a,
  .tabs--light .accordion .accordion-item a {
    padding: 20px;
    margin: 0; }

.tabs--light .accordion {
  border-bottom: 1px solid #3A3C39; }

.tabs--light .accordion-content,
.tabs--light .tabs-content {
  border: none; }
  .tabs--light .accordion-content .tabs-panel,
  .tabs--light .tabs-content .tabs-panel {
    padding: 0; }
  .tabs--light .accordion-content .tabs-panel table,
  .tabs--light .tabs-content .tabs-panel table {
    margin: 0; }

.tabs,
.tabs-content {
  background: transparent; }

.tabs--dark.tabs {
  text-align: center; }

.tabs--dark.accordion > .accordion-item > a {
  text-align: center; }

.tabs--dark.tabs, .tabs--dark.accordion {
  border: none;
  background-color: #373a36;
  color: #c5bfb7; }
  .tabs--dark.tabs .tabs-title > a:hover,
  .tabs--dark.tabs .tabs-title > a:focus,
  .tabs--dark.tabs .tabs-title > a[aria-selected='true'], .tabs--dark.accordion .tabs-title > a:hover,
  .tabs--dark.accordion .tabs-title > a:focus,
  .tabs--dark.accordion .tabs-title > a[aria-selected='true'] {
    outline: none;
    background-color: #f6f5f4;
    color: #373a36; }
  .tabs--dark.tabs .accordion-title,
  .tabs--dark.tabs .accordion-title:hover,
  .tabs--dark.tabs .accordion-title:focus, .tabs--dark.accordion .accordion-title,
  .tabs--dark.accordion .accordion-title:hover,
  .tabs--dark.accordion .accordion-title:focus {
    outline: none;
    background-color: #373a36;
    color: #c5bfb7;
    font-size: 16px;
    border: none;
    border-bottom: 3px solid #f6f5f4; }
  .tabs--dark.tabs .tabs-title, .tabs--dark.accordion .tabs-title {
    display: inline-block;
    float: none; }
    .tabs--dark.tabs .tabs-title > a, .tabs--dark.accordion .tabs-title > a {
      font-size: 16px;
      font-weight: 500;
      padding: 20px 24px;
      color: #c5bfb7; }

.tabs--dark .tabs-content {
  border: none;
  background-color: #f6f5f4; }
  .tabs--dark .tabs-content .tabs-panel {
    padding: 40px 185px; }
  @media screen and (max-width: 63.9375em) {
    .tabs--dark .tabs-content .tabs-panel {
      padding: 20px 0;
      background-color: transparent; } }

.tabs--dark > .accordion-item > .accordion-content {
  border: none;
  text-align: left; }

/***
Testimonial
***/
.c-testimonial {
  padding: 0 15px;
  overflow: hidden; }

.c-testimonial__image {
  display: inline-block;
  max-width: 700px;
  width: 60%; }
  .c-testimonial__image img {
    width: 100%; }

.c-testimonial__wrapper {
  float: right;
  max-width: 40%;
  padding: 40px; }

.c-testimonial__blockquote {
  border: none;
  line-height: 1.5;
  padding: 0;
  font-size: 26px;
  color: #3A3C39;
  padding-bottom: 25px;
  display: block; }

.c-testimonial__author {
  font-weight: 700; }

.c-testimonial__info {
  color: #747678; }

.c-testimonial__author,
.c-testimonial__info {
  display: block; }

cite {
  color: #3A3C39;
  font-style: normal;
  font-size: 16px;
  margin: 0 0 20px 0; }

cite:before {
  content: ''; }

/* Testimonial - Author Bio
******************************/
.c-author-bio {
  padding: 20px 0; }

.c-author-bio > span[class^="uos-"] {
  font-size: 103px; }

.c-author-bio__bio {
  font-size: 16px;
  margin: 0; }

.c-author-bio__name {
  font-size: 25px;
  font-weight: 800;
  margin: 0 0 4px 0;
  text-transform: uppercase; }

/* Testimonial Story
******************************/
.c-testimonial__story .c-author-bio__name {
  margin-top: 30px; }

.c-testimonial__story .c-author-bio__name {
  margin-bottom: 30px; }

/*
Testimonial Story - No Image or Video
***/
.c-testimonial.c-testimonial__story .c-testimonial__control + .c-testimonial__wrapper {
  display: block; }

.c-testimonial.c-testimonial__story .c-testimonial__control + .c-testimonial__wrapper .c-share.hide-for-large {
  display: block !important; }

@media screen and (max-width: 89.9375em) {
  /***
    Testimonial
    ***/
  .c-testimonial__blockquote {
    font-size: 22px; }
  /* Testimonial - Author Bio
    ******************************/
  .c-author-bio > span[class^="uos-"] {
    font-size: 90px; }
  .c-author-bio__name {
    font-size: 20px; }
  .c-author-bio__bio {
    font-size: 14px; } }

@media screen and (max-width: 63.9375em) {
  .c-testimonial {
    padding: 0; }
  .c-testimonial__image {
    margin: 25px 0;
    width: 40%; }
  .c-testimonial__wrapper {
    max-width: 60%;
    padding: 0 30px; }
  .c-testimonial__wrapper .c-hook--top-right {
    position: absolute;
    right: 30px; }
  .c-testimonial__blockquote {
    line-height: 1.2;
    margin-top: 0;
    padding: 25px 25px 25px 0; }
  .c-testimonial__quote {
    font-size: 22px;
    padding: 20px 0 10px; }
  .c-testimonial__author-wrapper a.c-link, .c-testimonial__author-wrapper .megamenu .megamenu__links > ul > li > a, .megamenu .c-testimonial__author-wrapper .megamenu__links > ul > li > a, .c-testimonial__author-wrapper .megamenu .megamenu__links > ul > li > ul > li > a, .megamenu .c-testimonial__author-wrapper .megamenu__links > ul > li > ul > li > a {
    display: block;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content; } }

@media screen and (max-width: 39.9375em) {
  .c-testimonial__image {
    margin: 0 0 25px 0;
    max-width: initial;
    width: 100%; }
  .c-testimonial__wrapper {
    float: none;
    max-width: initial;
    padding: 0 30px;
    position: relative; } }

/* Testimonial - No Bio
******************************/
.c-testimonial__wrapper .c-hook + .c-testimonial__blockquote {
  font-size: 26px; }

@media screen and (max-width: 77.4375em) {
  .c-testimonial__wrapper .c-hook + .c-testimonial__blockquote {
    font-size: 22px; } }

@media screen and (max-width: 63.9375em) {
  /* Testimonial - Story
    ******************************/
  .c-testimonial__story .c-share.hide-for-large {
    display: block; } }

@media screen and (max-width: 63.9375em) {
  /* Testimonial - Story
    ******************************/
  .c-testimonial__story .c-author-bio__name {
    margin-top: 0;
    padding-top: 30px; } }

@media screen and (max-width: 39.9375em) {
  /* Testimonial - Story
    ******************************/
  .c-testimonial__story .c-testimonial__wrapper {
    padding: 0 1.875rem; } }

/* Testimonial - No Image or Video
******************************/
.c-testimonial__control + .c-testimonial__wrapper {
  background-colour: tomato;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%; }

.c-testimonial__control + .c-testimonial__wrapper .c-author-bio {
  display: none; }

.c-testimonial__control + .c-testimonial__wrapper .c-share.hide-for-medium {
  display: block !important; }

.c-testimonial__control + .c-testimonial__wrapper .c-testimonial__blockquote {
  margin: 0 40px 0 0;
  width: 100%; }

.c-testimonial__control + .c-testimonial__wrapper .c-testimonial__quote {
  font-size: 38px; }

@media screen and (max-width: 63.9375em) {
  .c-testimonial__control + .c-testimonial__wrapper {
    display: block; }
  .c-testimonial__control + .c-testimonial__wrapper .c-testimonial__quote {
    font-size: 22px; }
  .c-testimonial__control + .c-testimonial__wrapper .c-testimonial__author-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; } }

/**
WYSIWYG Content
***/
.c-wysiwyg-content ul {
  margin-bottom: 16px; }

/*
WYSIWYG Content Styles
***/
.c-wysiwyg-content {
  overflow-x: auto; }

/*
WYSIWYG Content Blockquote
***/
.c-wysiwyg-content p + blockquote {
  margin: 60px auto 0; }
  .c-wysiwyg-content p + blockquote + p:not(.quote-attribute) {
    margin: 60px auto 1rem; }

.c-wysiwyg-content blockquote {
  border-left: 5px solid #76BD22;
  font-weight: 600;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 0 0 30px; }
  .c-wysiwyg-content blockquote p {
    color: #006938;
    font-size: 20px !important;
    line-height: 1.5; }
    .c-wysiwyg-content blockquote p::before {
      content: open-quote; }
    .c-wysiwyg-content blockquote p::after {
      content: close-quote; }

.c-wysiwyg-content .quote-attribute {
  font-weight: 600;
  margin: 0 auto 60px;
  max-width: 960px;
  padding-left: 35px; }

@media screen and (max-width: 89.9375em) {
  .c-wysiwyg-content p + blockquote {
    margin: 40px auto 0; }
    .c-wysiwyg-content p + blockquote + p:not(.quote-attribute) {
      margin: 40px auto 1rem; }
  .c-wysiwyg-content .quote-attribute {
    margin: 0 auto 40px; } }

/*
Testimonial - Full Testimonial 
***/
.c-wysiwyg-content .c-blockquote--simple,
.c-blockquote--simple {
  border: none;
  font-weight: normal;
  max-width: initial;
  padding: 0; }

.c-wysiwyg-content .c-blockquote--simple p,
.c-blockquote--simple p {
  color: #3A3C39; }

.c-course-search-widget {
  padding-bottom: 30px; }

.c-course-search-widget__form {
  margin: 13px 0 43px; }

.c-course-search-widget__search-input {
  border: none;
  border-bottom: 5px solid #CDCDCD;
  box-shadow: none;
  font-size: 33px;
  height: 100%;
  max-width: 880px;
  margin: 0 45px 0 0;
  padding: 16px 0 16px 67px;
  background-image: url("../../dist/css/images/icons/magnify-course-search.svg");
  background-repeat: no-repeat;
  background-position: 0 25px;
  background-color: transparent;
  transition: border-bottom 0.3s ease-in-out; }

.c-course-search-widget__search-input[type='text']:focus {
  border: none;
  border-bottom: 5px solid #8EBB38; }

.c-course-search-widget__search-input::-webkit-input-placeholder {
  color: #3B6938;
  font-family: 'FSMaja', serif;
  font-weight: 300; }

.c-course-search-widget__search-input:-ms-input-placeholder {
  color: #3B6938;
  font-family: 'FSMaja', serif;
  font-weight: 300; }

.c-course-search-widget__search-input::placeholder {
  color: #3B6938;
  font-family: 'FSMaja', serif;
  font-weight: 300; }

.c-course-search-widget__button {
  margin: 0;
  min-width: 219px; }

c-course-search__button {
  margin: 0 0 20px 0; }

@media screen and (max-width: 63.9375em) {
  .c-course-search-widget__button {
    font-size: 23px; } }

@media screen and (max-width: 39.9375em) {
  .c-course-search-widget__search-input {
    margin: 0; } }

.course-search-widget__result {
  margin-bottom: 1rem; }
  .course-search-widget__result p:last-child {
    margin-bottom: 0 !important; }

.c-course-search-widget__view-all {
  min-width: 219px;
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: -10px;
  text-align: center; }

@media screen and (max-width: 39.9375em) {
  .c-course-search-widget__view-all {
    min-width: none;
    width: 100%;
    text-align: left;
    bottom: -20px; } }

.c-course-search-widget__search-input-wrapper {
  width: 100%;
  position: relative; }

.c-course-search-widget__loader {
  position: absolute;
  top: 10px;
  right: 50px;
  display: none; }

.c-course-search-widget-popup__results {
  padding: 4rem;
  background: #fefefe;
  margin-bottom: 3rem; }
  .c-course-search-widget-popup__results .tabs, .c-course-search-widget-popup__results .tabs + .tabs-content, .c-course-search-widget-popup__results .tabs-title > a:hover {
    background: none; }
  .c-course-search-widget-popup__results .tabs-panel {
    padding: 0; }
  .c-course-search-widget-popup__results .filters {
    margin-bottom: 1rem;
    position: relative; }
    .c-course-search-widget-popup__results .filters label {
      display: inline-block;
      padding: 10px;
      background: #eee;
      border: none;
      margin-right: 50px;
      cursor: pointer;
      font-size: 1.2rem;
      color: #8a8a8a; }
    .c-course-search-widget-popup__results .filters input[type='checkbox'] {
      position: absolute;
      left: -999999px;
      margin: 0; }
    .c-course-search-widget-popup__results .filters label.is-active {
      background: #ccc; }
  .c-course-search-widget-popup__results fieldset {
    margin-bottom: 1rem;
    padding-bottom: 0; }
  .c-course-search-widget-popup__results fieldset input {
    position: absolute;
    left: -9999px; }
  .c-course-search-widget-popup__results fieldset h3 {
    font-size: 120%;
    font-weight: bold;
    margin-top: 1rem; }
  .c-course-search-widget-popup__results fieldset input:focus + a {
    text-decoration: underline; }
  .c-course-search-widget-popup__results fieldset input:focus + a.button {
    text-decoration: none; }
  .c-course-search-widget-popup__results a.result {
    font-size: 1.5rem;
    font-weight: bold; }
  .c-course-search-widget-popup__results .button {
    margin-bottom: 0;
    padding: 2rem;
    font-size: 1.5rem;
    background: #8a8a8a; }

.c-course-search-widget-popup__loading {
  padding: 2rem 0;
  background: #fefefe; }

.c-course-search-widget-popup {
  position: absolute;
  z-index: 7;
  top: 100%;
  width: 100%;
  display: none;
  left: 0; }

.homepage-course-search__query:focus + .placeholder p {
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

input#homepage-course-search__query:focus {
  color: #8a8a8a; }

.color-box {
  padding: 1rem;
  color: white;
  font-weight: bold;
  min-height: 250px;
  position: relative; }

.colour-swatch-group {
  display: inline-block;
  margin: 0 15px 0 0; }

.colour-swatch-group:last-child {
  margin: 0; }

.colour-swatch {
  display: inline-block;
  margin: 0 15px 0 0;
  width: 130px;
  height: 180px;
  position: relative;
  box-shadow: 1px 1px 10px 0px #6e6e6e; }

.colour-swatch--swatch {
  height: 130px;
  width: 130px; }

.colour-swatch:last-child {
  margin: 0; }

.colour-swatch--details {
  background-color: #ffffff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 9px 5px; }

.colour-swatch--details p {
  font-size: 10px; }

.hex-code {
  text-transform: uppercase; }

/*
Wrapper
***/
.c-wrapper {
  position: relative; }

/***
Typography
***/
.typography-block.fs-maja {
  font-family: 'FSMaja', serif;
  font-weight: 300; }

.open-sans-bold {
  font-weight: 700; }

.open-sans-semibold {
  font-weight: 600; }

.open-sans-regular {
  font-weight: 400; }

.open-sans-light {
  font-weight: 100; }

.typography-block .font-family {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 300; }

.typography-block p {
  font-size: 25px;
  line-height: 1; }

.typography-block span.font-family-sample {
  font-size: 100px;
  margin: 0 5.01% 0 0; }

@media screen and (max-width: 1180px) {
  .typography-block > .flex-container {
    display: block; } }

@media screen and (max-wdith: 600px) {
  .typography-block p {
    font-size: 20px; } }

/***
Typography - Heading Heirarchy
***/
.heading-block {
  margin: 0 0 20px 0; }

.heading-block > .flex-container {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline; }

.heading-block .tag {
  font-size: 20px;
  margin: 0 30px 0 0; }

/***
Call to Action
***/
.cta {
  border: 2px solid transparent;
  display: inline-block;
  font-size: 20px;
  margin: 0 0 20px 0;
  padding: 23px 64px;
  transition: all 0.3s ease-in-out; }

.cta__disabled {
  background-color: #B5B0B4;
  color: #3A3C38;
  cursor: default;
  pointer-events: none; }

/*
Call to Action - Heritage Green
**/
.cta--heritage-green {
  background-color: #3B6938;
  color: #FFFFFF; }

.cta--heritage-green:hover,
.cta--heritage-green__active {
  background-color: #FFFFFF;
  border-color: #3B6938;
  color: #3B6938; }

/*
Call to Action - Energy Green
**/
.cta--energy-green {
  background-color: #8EBB38;
  color: #3A3C38; }

.cta--energy-green:hover,
.cta--energy-green__active {
  background-color: #FFFFFF;
  border-color: #8EBB38;
  color: #3A3C38; }

/*
Call to Action - Heritage Berry
**/
.cta--heritage-berry {
  background-color: #662656;
  color: #FFFFFF; }

.cta--heritage-berry:hover,
.cta--heritage-berry__active {
  background-color: #FFFFFF;
  border-color: #662656;
  color: #662656; }

/***
Text Link
***/
.text-link {
  display: inline-block;
  font-size: 20px;
  margin: 0 0 20px 0;
  overflow: hidden;
  position: relative; }

.text-link:hover {
  color: #3B6938; }

.text-link:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  bottom: 0;
  left: -100%;
  background-color: #3B6938;
  transition: left 0.3s ease-in-out; }

.text-link:hover:after {
  left: 0; }

.text-link__active:after {
  left: 0; }

.text-link--berry,
.text-link--berry:hover {
  color: #662656; }

.text-link--berry:after {
  background-color: #662656; }

/***
Icon Links
***/
.c-icon-link span[class^="uos-"] {
  font-size: 72px;
  margin: 15px; }

.c-icon-link .c-icon-link__text-icon {
  display: block;
  font-size: 50px;
  color: #8a8a8a; }

.c-icon-link--large .c-link, .c-icon-link--large .megamenu .megamenu__links > ul > li > a, .megamenu .c-icon-link--large .megamenu__links > ul > li > a, .c-icon-link--large .megamenu .megamenu__links > ul > li > ul > li > a, .megamenu .c-icon-link--large .megamenu__links > ul > li > ul > li > a {
  font-size: 32px; }

.c-icon-link-block .cell:nth-child(3) {
  margin: 0 0 95px 0; }

.c-icon-link-block .cell:last-child {
  margin: 0; }

.c-icon-link {
  color: #006938; }

.c-icon-link.u-white,
.c-icon-link.u-white .c-link,
.c-icon-link.u-white .megamenu .megamenu__links > ul > li > a, .megamenu
.c-icon-link.u-white .megamenu__links > ul > li > a,
.c-icon-link.u-white .megamenu .megamenu__links > ul > li > ul > li > a, .megamenu
.c-icon-link.u-white .megamenu__links > ul > li > ul > li > a {
  color: #fefefe; }

.c-icon-link.u-white .c-link:before, .c-icon-link.u-white .megamenu .megamenu__links > ul > li > a:before, .megamenu .c-icon-link.u-white .megamenu__links > ul > li > a:before, .c-icon-link.u-white .megamenu .megamenu__links > ul > li > ul > li > a:before, .megamenu .c-icon-link.u-white .megamenu__links > ul > li > ul > li > a:before {
  background-color: #fefefe; }

.c-icon-link span[class^="uos-facebook"] {
  color: #3b5998; }

.c-icon-link span[class^="uos-instagram"] {
  color: #262626; }

.c-icon-link span[class^="uos-twitter"] {
  color: #55acee; }

.c-icon-link span[class^="uos-youtube"] {
  color: #ff0000; }

.c-icon-link span[class^="uos-linkedin"] {
  color: #007bb5; }

.c-icon-link span[class^="uos-snapchat"] {
  color: #000000; }

.c-icon-link span[class^="uos-facebook"],
.c-icon-link span[class^="uos-instagram"],
.c-icon-link span[class^="uos-twitter"],
.c-icon-link span[class^="uos-youtube"],
.c-icon-link span[class^="uos-linkedin"],
.c-icon-link span[class^="uos-snapchat"] {
  font-size: 50px; }

@media screen and (max-width: 89.9375em) {
  .c-icon-link span[class^="uos-"] {
    font-size: 52px; }
  .c-icon-link--large .c-link, .c-icon-link--large .megamenu .megamenu__links > ul > li > a, .megamenu .c-icon-link--large .megamenu__links > ul > li > a, .c-icon-link--large .megamenu .megamenu__links > ul > li > ul > li > a, .megamenu .c-icon-link--large .megamenu__links > ul > li > ul > li > a {
    font-size: 26px; } }

/*
Icon Links with Text
**********/
.c-icon-link__header {
  font-size: 24px;
  font-weight: 600;
  margin: 20px 0; }

.c-icon-link__text p:not(.c-icon-link__header) {
  font-size: 18px; }

@media screen and (max-width: 639px) {
  .c-icon-link-block .cell,
  .c-icon-link-block .cell:nth-child(3) {
    margin-bottom: 70px; }
  .c-icon-link-block .cell:last-child {
    margin: 0; }
  /*
    Icon Links with Text
    **********/ }

/***
Events Box
***/
.c-events-box__content {
  padding: 20px; }

.c-events-box__content a {
  display: inline-block;
  margin: 0 0 16px 0; }

.c-events-box__details {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 34px 0; }

.c-events-box__details p {
  margin: 0; }

.c-events-box span[class^="uos-"],
.c-events-box__details span[class^="uos-"] {
  color: #76BD22;
  font-size: 25px;
  margin: 0 10px 0 0; }

.c-events-box__detail-info {
  margin: 0 50px 10px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
  -ms-flex-align: baseline;
  align-items: baseline; }

.c-events-box__detail-info span[class^="uos-"] {
  margin: 0 10px 0 0; }

.c-events-box__detail-info:last-child {
  margin: 0; }

/*
Events Box Alert
**********/
.c-events-box__alert {
  padding: 15px 30px; }

.c-events-box__alert span[class^="uos-"] {
  font-size: 30px;
  margin: 0 20px 0 0; }

.c-events-box__alert p {
  font-size: 16px;
  margin: 0; }

@media screen and (max-width: 63.9375em) {
  .c-events-box__details {
    display: block; }
  .c-events-box__detail-info {
    margin: 0 0 20px 0; }
  .c-events-box__detail-info:last-child {
    margin: 0; } }

/*
Single Event
**********/
.c-events__details p {
  margin: 0; }

.c-events-box__alert--single {
  padding: 35px 30px; }

.c-events-box__alert--single p {
  font-size: 20px; }

/*
Events Calendar
***/
.c-events-calendar ul:first-of-type {
  display: block;
  list-style: none;
  margin: 0 0 40px 0;
  padding: 0; }

.c-events-calendar > ul > li > a {
  display: inline-block;
  font-family: "FSMaja", serif;
  font-size: 36px;
  font-weight: 300;
  margin: 0 0 40px 0;
  padding: 0 0 40px 0;
  position: relative; }

.c-events-calendar > ul > li > a:after {
  background: #76BD22;
  bottom: 0;
  content: '';
  height: 8px;
  left: 0;
  position: absolute;
  width: 100%; }

.c-events-calendar > ul > li > ul {
  -webkit-column-count: 3;
  column-count: 3; }

.c-events-calendar > ul > li > ul > li > a {
  position: relative; }

.c-events-calendar > ul > li > ul > li > a:before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 0.125rem;
  background-color: #006938;
  transition: width 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); }

.c-events-calendar > ul > li > ul > li > a:hover:before {
  width: 100%; }

.c-events-calendar > ul > li > ul > li > a:after {
  content: "\e97b";
  font-family: 'uos';
  margin: 0 0 0 0.625rem; }

@media screen and (max-width: 77.4375em) {
  .c-events-calendar > ul > li > ul {
    -webkit-column-count: 2;
    column-count: 2; } }

@media screen and (max-width: 39.9375em) {
  .c-events-calendar > ul > li > ul {
    -webkit-column-count: 1;
    column-count: 1; } }

.c-facts {
  padding: 42px 0; }

.c-facts__heading {
  margin-bottom: 10px;
  font-weight: 300;
  color: #fefefe;
  font-family: "FSMaja", serif;
  font-size: 36px; }

.c-facts__facts {
  font-size: 16px;
  margin-bottom: 0;
  list-style: 0;
  margin: 0;
  padding: 0; }
  .c-facts__facts p, .c-facts__facts li, .c-facts__facts th, .c-facts__facts td {
    font-size: 16px; }
  .c-facts__facts li {
    display: inline;
    margin: 0 32px 6px 0; }
  .c-facts__facts:last-child {
    margin: 0; }

@media screen and (max-width: 39.9375em) {
  .c-facts__facts li {
    display: block; } }

.c-facts__fact-heading {
  font-weight: 700; }
  .c-facts__fact-heading::after {
    content: ' -'; }

.c-facts__course-leaflet-link {
  margin-top: 30px;
  margin-bottom: 0; }
  .c-facts__course-leaflet-link a {
    color: #fefefe;
    text-decoration: none;
    font-size: 16px; }
    .c-facts__course-leaflet-link a:hover {
      text-decoration: underline; }

/***
Staff Overviews
***/
.c-staff-overview__image {
  margin: 0 30px 0 0;
  max-width: 260px;
  min-width: 260px; }

/***
Columns Section
***/
@media screen and (max-width: 39.9375em) {
  .columns-section .cell {
    margin-bottom: 40px; }
  .columns-section .cell:last-child {
    margin-bottom: 0; } }

/*
List with icons as bullets
*/
.icon-list {
  list-style: none;
  margin: 0;
  padding: 0; }

.icon-list__list-item {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px; }
  .icon-list__list-item:last-child {
    margin-bottom: 0; }
  .icon-list__list-item [class^="uos-"], .icon-list__list-item [class*=" uos-"] {
    margin-right: 20px;
    color: #76BD22;
    font-size: 35px; }
  .icon-list__list-item.icon-list__list-item--small-icon {
    font-size: 100%; }

@media screen and (max-width: 63.9375em) {
  .icon-list {
    padding-bottom: 30px; } }

@media screen and (max-width: 63.9375em) {
  .icon-list {
    padding: 0; } }

/*
Layout with icon on the left and text/content on the right
*/
.c-column-list p:last-child {
  margin-bottom: 59px; }

.c-icon-indent [class^="uos-"], .c-icon-indent [class*=" uos-"] {
  font-size: 42px; }

.c-icon-indent__body {
  margin-left: 50px; }
  .c-icon-indent__body p {
    font-size: 24px;
    text-transform: capitalize; }
  .c-icon-indent__body li {
    font-size: 18px;
    margin-bottom: 12px; }

.c-icon-indent__body--highlight {
  border-top: 5px solid #76BD22;
  padding-top: 1rem; }

.c-icon-indent__flag img {
  max-width: none; }

@media screen and (max-width: 63.9375em) {
  .c-icon-indent {
    display: block; }
    .c-icon-indent [class^="uos-"], .c-icon-indent [class*=" uos-"] {
      font-size: 42px; }
      .c-icon-indent [class^="uos-"]::before, .c-icon-indent [class*=" uos-"]::before {
        text-align: center;
        width: 100%;
        display: block;
        margin-bottom: 20px;
        margin-top: 30px; }
  .c-icon-indent__body {
    margin-left: 0;
    display: block; }
  .c-icon-indent__body--highlight {
    border-top: none; }
  .c-icon-indent__flag {
    display: block;
    width: 100%;
    margin-bottom: 1rem; } }

/*
Responsive wrapper for videos, iframe and objects.
*/
.c-responsive-embed {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  margin-bottom: 1rem; }

.c-responsive-embed iframe,
.c-responsive-embed object,
.c-responsive-embed embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*
A grey strip that sits at the bottom of the page flush with the footer
*/
.page-timestamp-strip {
  text-align: center;
  padding: 29px; }

/**
 * Hook on divs
 */
.c-hook--top-right {
  position: relative;
  width: 100%; }
  .c-hook--top-right::before {
    content: '';
    position: absolute;
    height: 1.9375rem;
    border-top: 7px solid #006938;
    z-index: 2;
    left: 0;
    width: 100%; }
  .c-hook--top-right::before {
    border-right: 7px solid #006938;
    top: 0; }

.c-hook--top-left {
  position: relative;
  width: 100%; }
  .c-hook--top-left::before {
    content: '';
    position: absolute;
    height: 1.9375rem;
    border-top: 7px solid #006938;
    z-index: 2;
    left: 0;
    width: 100%; }
  .c-hook--top-left::before {
    border-left: 7px solid #006938;
    top: 0; }

/***
Share Buttons
***/
.c-share {
  display: inline-block;
  font-size: 24px;
  margin: 30px 0; }

a.c-share__icon {
  margin: 0 2px;
  display: inline-block; }

a.c-share__icon {
  text-decoration: none;
  color: #3A3C39;
  outline: none; }
  a.c-share__icon:hover, a.c-share__icon.focus, a.c-share__icon.visited {
    color: #3A3C39; }

@media screen and (max-width: 39.9375em) {
  .c-share {
    display: block;
    margin: 20px 0; } }

/***
Page Break Bands Content
***/
.c-page-band-content p:first-of-type {
  font-size: 20px; }

.c-page-band-content p {
  font-size: 16px; }

/**
SEARCH
*/
.c-search-loading {
  margin: 30px 0;
  display: none; }

.c-search-loading__spinner {
  border: 6px solid #eee;
  border-top: 6px solid #999;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  margin: 0 auto; }

.loader {
  border: 6px solid #e6e6e6;
  border-top: 6px solid #8a8a8a;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  margin: 1rem auto; }

.loader--small {
  width: 30px;
  height: 30px; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/*
generic result style
@see site search, internal search
*/
.c-search-result {
  margin-bottom: 0.5rem; }

/*
image block result style
@see testimonials, accommodation
*/
.c-image-block-search-result {
  margin-bottom: 40px;
  width: 100%; }

.c-image-block-search-result__body {
  padding: 25px 50px;
  background: #f6f5f4; }

.c-image-block-search-result__title {
  font-weight: bold; }

.c-image-block-search-result__quote {
  border: none;
  margin: 0;
  padding: 0;
  font-size: 20px;
  color: #3A3C39;
  margin-bottom: 1rem; }
  .c-image-block-search-result__quote::before {
    content: '"'; }
  .c-image-block-search-result__quote::after {
    content: '"'; }

/***
Google maps
***/
.c-google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  width: 100%; }

/***
Brand bank widgets
***/
.c-download-box {
  border: #f6f5f4 3px solid;
  margin: 1rem 0 2.5rem; }

.c-download-box--dark {
  background-color: #3a3c39; }

.c-download-box .c-dropdown-wrapper {
  margin: 25px 0px 0px 25px; }

.c-download-box img {
  padding: 45px 60px 50px; }

.c-download-box p {
  background: #f6f5f4;
  padding: 18px 25px;
  margin-bottom: 0px; }

.c-dropdown-wrapper .button--dropdown:hover {
  background-color: #FFFFFF;
  border-color: #006937;
  color: #006937; }

.c-dropdown-wrapper .button--dropdown:focus {
  background-color: #FFFFFF;
  border-color: #006937;
  color: #006937; }

/***
Colour Swatches
***/
figure.c-colour-swatch {
  border: 3px solid #f6f5f4;
  margin: 1rem 0 2.5rem; }

figure.c-colour-swatch div[class^="u-bg-"] {
  height: 110px;
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 110%; }

figure.c-colour-swatch dl,
figure.c-colour-swatch dd,
figure.c-colour-swatch ul {
  list-style: none;
  margin: 0;
  padding: 0; }

figure.c-colour-swatch figcaption {
  padding: 20px; }

dl dd ul li:before {
  font-size: 1em;
  display: block;
  color: #ccc;
  font-variant: small-caps; }

.c-colour-swatch li {
  font-size: 1em;
  line-height: 1.4em; }

.c-colour-swatch li:before {
  font-size: 1.1em;
  color: #bbb; }

li.c-colour-swatch__hex:before {
  content: "hex"; }

li.c-colour-swatch__rgb:before {
  content: "rgb"; }

li.c-colour-swatch__cmyk:before {
  content: "cmyk"; }

li.c-colour-swatch__pms:before {
  content: "pms"; }

/*** LAYOUT STYLES

Putting this in it's own include file coz it makes the app.scss file neater, and
clearer for devs what the purpose of these styles are

...ONLY LAYOUT STYLES HERE, PLEASE :)

***/
.c-header {
  background-color: #FFFFFF;
  padding: 34px 0;
  position: relative; }

.c-site-logo {
  max-width: 317px;
  max-height: 79px; }

.c-header-nav {
  margin: 0; }

.c-header-nav__item {
  display: inline-block; }

.c-header-nav__link {
  font-size: 22px;
  position: relative; }

.c-header-nav--secondary {
  margin: 0 0 14px 0; }

.c-header-nav--primary .c-header-nav__item {
  margin: 0 32px 0 0;
  position: relative; }

.c-header-nav--secondary .c-header-nav__item {
  margin: 0 18px 0 0; }

.c-header-nav--primary .c-header-nav__item:last-child,
.c-header-nav--secondary .c-header-nav__item:last-child {
  margin: 0; }

.c-header-nav--secondary .c-header-nav__link {
  color: #3A3C39;
  font-size: 15px; }

.c-header-nav.c-header-nav--primary .c-header-nav__link:after {
  content: '';
  position: absolute;
  background-color: #8EBB38;
  height: 8px;
  width: 0;
  left: 0;
  bottom: -37px;
  transition: width 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  /* easeOutQuart */ }

.c-header-nav.c-header-nav--primary .c-header-nav__link:hover:after,
.c-header-nav.c-header-nav--primary .c-header-nav__link--is-active:after {
  width: 100%; }

@media screen and (max-width: 1023px) {
  .c-header-nav--secondary {
    margin: 0; }
  .c-header .uos-magnifying-glass {
    font-size: 26px; } }

/***
FOOTER STYLES

Styles the main footer for the entire website.
***/
.c-footer {
  background-color: #3a3c39;
  color: #fefefe;
  overflow: hidden;
  padding: 55px 0 0 0; }

.c-footer .cell {
  padding: 0 15px; }

.c-footer .grid-x.grid-padding-x {
  position: relative;
  padding: 0px 0 53px; }

.c-footer__header {
  color: #fefefe;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  margin: 0 0 32px 0;
  padding: 0; }

.c-footer__header:after {
  background-color: transparent;
  position: relative; }

.c-footer__link:hover {
  color: #76BD22; }

.t4Edit-page,
.c-copyright p,
.c-footer__link,
.c-footer p {
  border: none;
  color: #fefefe;
  display: inline-block;
  font-size: 12px;
  text-decoration: none; }

.c-footer li {
  line-height: 19px; }

.c-footer .c-footer__address span {
  display: block; }

.c-footer__link:hover {
  text-decoration: underline; }

.c-footer__contact .c-footer__link {
  font-weight: 700; }

.c-footer__contact {
  background-image: url("footer-map-scotland.svg");
  background-position: 75% center;
  background-repeat: no-repeat;
  background-size: 200px;
  min-height: 254px; }

.c-footer__contact li {
  margin: 0 0 10px 0; }

.c-follow__link {
  display: inline-block;
  margin: 0 10px 10px 0; }

.c-footer__link--social:hover {
  text-decoration: none; }

.c-follow__link:last-child {
  margin: 0 0 10px 0; }

.c-footer [class*="uos-"] {
  font-size: 24px; }

.c-footer__link--facebook:hover {
  color: #3b5998; }

.c-footer__link--instagram:hover {
  color: #125688; }

.c-footer__link--twitter:hover {
  color: #1DA1F2; }

.c-footer__link--youtube:hover {
  color: #ff0000; }

.c-footer__link--linkedin:hover {
  color: #007bb5; }

.c-footer__btd {
  position: absolute;
  right: 0;
  bottom: 0; }

.c-footer__btd:after {
  content: '';
  position: absolute;
  background-color: #76BD22;
  height: 4px;
  width: 9999px;
  bottom: 0;
  left: 0; }

.c-copyright {
  padding: 0 0 70px 0; }

.t4Edit-page:hover {
  color: #fefefe;
  cursor: default;
  text-decoration: none; }

/**
Scroll To Top Button
*/
.c-scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  height: 50px;
  width: 50px;
  background-color: rgba(0, 105, 56, 0.9);
  color: #fefefe;
  font-size: 24px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out; }

.c-scroll-to-top__visible {
  opacity: 1;
  transition: opacity 0.3s ease-in-out; }

.c-scroll-to-top:hover,
.c-scroll-to-top:focus {
  color: #fefefe; }

@media screen and (max-width: 89.9375em) {
  .c-footer__contact {
    background-position: 75% 10px;
    background-size: 155px; } }

@media screen and (max-width: 63.9375em) {
  .c-footer .cell {
    padding: 0 30px; }
  .c-footer__header {
    margin: 20px 0; }
  .c-copyright {
    padding: 40px 0; } }

@media screen and (max-width: 39.9375em) {
  .c-footer {
    padding: 50px 0 0 0; }
  .c-footer__accreditations {
    margin-top: 20px; }
  .c-footer__btd {
    position: relative;
    margin: 40px 0 0 15px;
    width: 100%;
    text-align: right; }
  .c-footer__btd:after {
    content: initial; }
  .c-copyright {
    padding: 0 0 40px; } }

/***
INTERNAL HEADER STYLES

Styles the header for the internal pages of the website.
***/
.header--internal {
  background-color: #f6f5f4; }

.header--internal a,
.header--internal .uos-magnifying-glass {
  color: #8a8a8a;
  font-size: 22px;
  font-weight: 700; }

.header--internal .search-button {
  margin: 0 25px 0 10px; }

@media screen and (max-width: 89.9375em) {
  .header--internal .search-button {
    margin: 0 20px 0 0; } }

/***
BURGER MENU STYLES

Styles the burger menus.
***/
.burger {
  width: 28px;
  height: 25px;
  position: relative;
  cursor: pointer; }

.burger span {
  transition: width 0.1s ease-in-out 0.3s; }

.burger span,
.burger span:before,
.burger span:after {
  width: 100%;
  height: 5px;
  background-color: #006938; }

.burger span:before,
.burger span:after {
  content: '';
  position: absolute; }

.burger span:before {
  top: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: top 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

.burger span:after {
  bottom: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: bottom 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

.burger.nav-is-open span {
  width: 0;
  transition: width 0.1s ease-in-out 0.3s; }

.burger.nav-is-open span:before {
  top: 11px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s; }

.burger.nav-is-open span:after {
  bottom: 9px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: bottom 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s; }

/***
INTERNAL HEADER MENU
***/
.header--internal-menu {
  background-color: #f6f5f4;
  display: none;
  position: absolute;
  width: 100%; }

.hidden-links li {
  display: inline-block;
  margin: 0 20px 20px 0; }

.hidden-links li:last-child {
  margin: 0 0 20px 0; }

.header--internal-menu ul {
  border-top: 3px solid #D4D2CC;
  padding-top: 60px;
  padding-bottom: 30px; }

.header--internal-menu a {
  color: #757774;
  display: inline-block;
  margin: 0 0 30px 0; }

@media screen and (max-width: 639px) {
  .header--internal-menu a {
    color: #3A3C39;
    font-size: 18px;
    margin: 0 0 10px 0; }
  .internal-pages .header--internal-menu .internal-index-columns {
    -webkit-column-count: 2;
    column-count: 2; } }

/***
INTERNAL BREADCRUMBS
***/
/***
INTERNAL BURGER MENU STYLES
***/
.burger--internal-sidebar-menu {
  width: 27px;
  height: 23px;
  position: relative;
  cursor: pointer;
  margin: 0.7rem 0 0.7em 1rem; }

.burger--internal-sidebar-menu span {
  transition: width 0.1s ease-in-out 0.3s; }

.burger--internal-sidebar-menu span,
.burger--internal-sidebar-menu span:before,
.burger--internal-sidebar-menu span:after {
  width: 100%;
  height: 3px;
  background-color: #C2BEB6; }

.burger--internal-sidebar-menu span:before,
.burger--internal-sidebar-menu span:after {
  content: '';
  position: absolute; }

.burger--internal-sidebar-menu span:before {
  top: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: top 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

.burger--internal-sidebar-menu span:after {
  bottom: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: bottom 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

.burger--internal-sidebar-menu.nav-is-open span {
  width: 0;
  transition: width 0.1s ease-in-out 0.3s; }

.burger--internal-sidebar-menu.nav-is-open span:before {
  top: 10px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
  transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s; }

.burger--internal-sidebar-menu.nav-is-open span:after {
  bottom: 10px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  transition: bottom 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
  transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s; }

.internal-pages-mobile-menu {
  display: none; }

.c-header-search {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3; }

.c-header-search .overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #3A3C39;
  opacity: 0.3; }

.c-header-search__input-wrapper {
  padding: 20px 0;
  position: relative; }

.c-header-search .content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fefefe;
  padding-top: 1rem; }

.c-header-search input[name='query'] {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: #8a8a8a;
  box-shadow: none;
  border: none; }

.c-header-search input + button[type='submit'] {
  position: absolute;
  top: 10px;
  right: 0px;
  background: none;
  color: #3A3C39; }

.c-header-search__wrapper {
  display: none; }

.c-header-search__results fieldset {
  margin-bottom: 1rem; }

.c-header-search__results fieldset input {
  position: absolute;
  left: -9999px; }

.c-header-search__results fieldset a {
  display: block;
  line-height: 2em; }

.c-header-search__results fieldset input:focus + a {
  text-decoration: underline; }

.c-header-search__title {
  font-size: 20px;
  margin-bottom: 20px;
  color: #006938; }

.c-header-search__item {
  font-size: 100%; }
  .c-header-search__item p {
    font-size: 100%; }
  .c-header-search__item a {
    text-decoration: underline; }

.c-header-search__column {
  padding: 1rem;
  padding-top: 50px;
  padding-bottom: 50px; }
  .c-header-search__column ul {
    list-style: none;
    margin: 0;
    padding: 0; }

.c-header-search__suggestions .c-header-search__item {
  font-weight: bold;
  margin-bottom: 1rem; }
  .c-header-search__suggestions .c-header-search__item .c-header-search__highlight {
    font-weight: normal; }

/*
Mobile menu stuff
*/
#slider,
.c-mobile-menu {
  width: 100%;
  position: absolute;
  right: 100%;
  bottom: 0;
  overflow: auto;
  z-index: 5;
  top: 0;
  background-color: #fff;
  transition: 0.2s;
  transition-timing-function: ease-out; }

.c-mobile-menu--visible {
  right: 0%; }

.c-mobile-menu__content--shink {
  height: 500px;
  overflow: hidden; }

/* Position and style the close button (top right corner) */
#slider .closebtn,
.c-mobile-menu .closebtn {
  position: absolute;
  top: 12px;
  right: 30px;
  font-size: 36px;
  margin-left: 50px;
  z-index: 10000000; }

ul.slidemenu,
ul.slidemenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  width: 100%;
  position: relative;
  background: #eee; }

ul.slidemenu li > ul {
  position: absolute;
  top: 0;
  right: calc(100% + 10px);
  transition: 0.2s;
  transition-timing-function: ease-out; }

/* Home */
ul.slidemenu ul[data-has-drilldown] li.slidemenu__bc:first-child a,
ul.slidemenu ul[data-has-drilldown] li.slidemenu__bc:first-child span {
  background-color: #eee;
  padding: 25px 30px;
  display: block;
  color: #776E64;
  font-weight: bold;
  font-size: 120%; }

ul.slidemenu ul[data-has-drilldown] li.slidemenu__bc:first-child a .slidemenu__home-text,
ul.slidemenu ul[data-has-drilldown] li:nth-child(2) a.slidemenu__goto-link {
  display: none; }

/* Back links */
ul.slidemenu ul[data-has-drilldown] li.slidemenu__back a {
  background-color: #3B6938;
  display: block;
  padding: 15px 30px;
  color: white;
  font-weight: bold;
  font-size: 120%; }

ul.slidemenu ul[data-has-drilldown] li.slidemenu__bc:first-child a::before,
ul.slidemenu ul[data-has-drilldown] li.slidemenu__back a::before {
  content: "\e97a ";
  font-family: "uos";
  font-size: 80%; }

ul.slidemenu ul[data-has-drilldown] li.slidemenu__home-link a::before {
  content: "" !important; }

/* title */
ul.slidemenu ul[data-has-drilldown] li.slidemenu__title span {
  background-color: #6E9C6B;
  display: block;
  padding: 15px 30px;
  color: white;
  font-weight: bold;
  font-size: 120%; }

/* Submenu links */
ul.slidemenu li.slidemenu__subitem,
ul.slidemenu li.slidemenu__goto {
  background-color: #fff; }

ul.slidemenu li.slidemenu__subitem > a,
ul.slidemenu li.slidemenu__goto > a {
  padding: 20px 0px;
  display: block;
  text-decoration: none;
  font-size: 100%;
  color: #3B6938;
  /*transition: 0.3s;*/
  position: relative;
  margin: 0 30px;
  font-weight: bold;
  border-bottom: 2px solid #8EBB38; }

ul.slidemenu li.slidemenu__goto {
  padding-top: 15px; }

ul.slidemenu__current > li.slidemenu__subitem:last-of-type {
  padding-bottom: 20px; }

ul.slidemenu__current > li.slidemenu__subitem:last-of-type > a {
  border-bottom: none; }

ul.slidemenu li.slidemenu__has-submenu > a:after {
  content: "\e97b";
  font-family: "uos";
  position: absolute;
  top: 22px;
  right: 0px;
  font-size: 100%; }

ul.slidemenu .slidemenu__other-links {
  position: absolute;
  padding-left: 60px;
  padding-top: 50px;
  padding-bottom: 50px; }
  ul.slidemenu .slidemenu__other-links a {
    color: #aaa;
    font-size: 90%; }
  ul.slidemenu .slidemenu__other-links a:before {
    font-family: "uos";
    padding-right: 15px;
    color: #3B6938; }
  ul.slidemenu .slidemenu__other-links .slidemenu__other-links-portal a:before {
    content: "\e95c"; }
  ul.slidemenu .slidemenu__other-links .slidemenu__other-links-contact a:before {
    content: "\e966"; }
  ul.slidemenu .slidemenu__other-links .slidemenu__other-links-search a:before {
    content: "\e93f"; }

.megamenu {
  background: #f6f5f4;
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000000;
  display: none;
  top: 100%; }
  .megamenu .megamenu__padding {
    padding: 2rem 0; }
  .megamenu .megamenu__links {
    position: relative; }
    .megamenu .megamenu__links > ul {
      list-style: none;
      margin: 0; }
      .megamenu .megamenu__links > ul > li {
        padding-top: 30px; }
        .megamenu .megamenu__links > ul > li > a {
          display: inline-block;
          margin-bottom: 40px;
          font-weight: bold;
          font-size: 22px; }
        .megamenu .megamenu__links > ul > li > ul {
          list-style: none;
          margin: 0;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          height: 500px;
          font-size: 0;
          overflow: hidden; }
          .megamenu .megamenu__links > ul > li > ul > li {
            width: 25%;
            padding-right: 30px;
            padding-bottom: 20px; }
            .megamenu .megamenu__links > ul > li > ul > li > a {
              font-weight: bold;
              font-size: 18px;
              color: #006938; }
            .megamenu .megamenu__links > ul > li > ul > li > ul {
              list-style: none;
              margin: 0;
              padding: 0;
              margin-top: 0.5rem;
              margin-bottom: 1rem; }
              .megamenu .megamenu__links > ul > li > ul > li > ul > li > a {
                font-size: 16px;
                color: #3A3C39; }
                .megamenu .megamenu__links > ul > li > ul > li > ul > li > a:hover {
                  text-decoration: underline; }
  .megamenu .megamenu__prev-button,
  .megamenu .megamenu__next-button {
    color: #006938;
    font-weight: bold;
    padding: 10px 15px;
    position: absolute;
    top: 50%;
    margin-top: -20px;
    cursor: pointer;
    background: #e6e6e6;
    border-radius: 100%;
    font-size: 20px;
    height: 50px;
    width: 50px;
    display: inline-block; }
    .megamenu .megamenu__prev-button span,
    .megamenu .megamenu__next-button span {
      position: absolute;
      left: -9999px; }
  .megamenu .megamenu__prev-button:hover,
  .megamenu .megamenu__next-button:hover {
    background: #d9d9d9;
    color: #fefefe; }
  .megamenu .megamenu__prev-button {
    left: -50px;
    display: none; }
    .megamenu .megamenu__prev-button:before {
      content: "\e97a";
      font-family: "uos"; }
  .megamenu .megamenu__next-button {
    right: -20px; }
    .megamenu .megamenu__next-button:before {
      content: "\e97b";
      font-family: "uos"; }
  .megamenu .megamenu:not([data-slide-controls='true']) .megamenu__prev-button,
  .megamenu .megamenu:not([data-slide-controls='true']) .megamenu__next-button {
    display: none; }

/***
SITE WIDE STYLES
***/
body .grid-container {
  width: 77.5rem;
  max-width: 90%; }

@media screen and (max-width: 39.9375em) {
  body .grid-container {
    width: 100%;
    max-width: 77.5rem; } }

a {
  color: #006938; }

p a,
table a {
  border-bottom: 2px solid #006938;
  font-size: inherit; }

.altmetric-embed a {
  border: none; }

ul ul, ol ul, ul ol, ol ol {
  margin-bottom: 1rem; }

ul.no-style,
ul.no-style ul,
li.no-style {
  list-style: none;
  margin: 0;
  padding: 0; }

form,
input {
  outline: none;
  position: relative; }

input {
  border: 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 {
  background-color: inherit;
  box-shadow: none; }

table {
  margin: 30px 0 30px 0; }

table th, table td {
  vertical-align: top;
  text-align: left; }

/***
BUTTONS

Styles all buttons used throughout the site.
***/
/*
Back to main website button
*/
a.back-to-main-site {
  color: #006938;
  display: inline-block;
  font-family: "FSMaja", serif;
  font-size: 26px;
  font-weight: 300; }

@media screen and (max-width: 639px) {
  a.back-to-main-site {
    font-size: 22px;
    margin: 20px 0 0 0; } }

/***
HOOK STYLES

Styles a hook under the content wrapped with the class '.hook'.
***/
.hook {
  display: inline-block;
  position: relative; }

.hook-right {
  padding: 0 20px 20px 0; }

.hook-left {
  padding: 0 0 20px 20px; }

.hook:before,
.hook:after {
  background-color: currentColor;
  bottom: 0;
  content: '';
  position: absolute; }

.hook:before {
  height: 31px;
  width: 7px; }

.hook-right:before {
  right: 0; }

.hook-left:before {
  left: 0; }

.hook:after {
  height: 8px;
  left: 0;
  width: 100%; }

/***
HIGHLIGHT STYLES

Styles a short highlight line under the content wrapped with the class '.higlight'.
***/
.highlight {
  color: #006938;
  padding: 0 0 30px 0;
  position: relative; }

.highlight:after {
  content: '';
  background-color: #76BD22;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 67px;
  height: 8px; }

.callout-buttons {
  padding-top: 60px;
  padding-bottom: 70px; }

.button-callout {
  font-size: 20px;
  min-width: 350px;
  max-width: 350px;
  padding: 33px 50px; }

.c-header-nav__icon {
  padding-left: 5px; }

/*
HEADER STYLES
***/
h1, h2, h3,
h4, h5, h6 {
  position: relative; }

h2, h3, h4,
h5, h6 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400; }

h1 {
  color: #006938;
  font-family: "FSMaja", serif;
  font-size: 72px;
  font-weight: 300;
  line-height: 120%;
  margin: 0 0 40px 0;
  max-width: 20ch; }

h2,
h2 > strong {
  color: #006938;
  font-family: "FSMaja", serif;
  font-size: 36px;
  font-weight: 300; }

h2,
h3,
.c-wysiwyg-content h2:first-of-type,
.c-wysiwyg-content h3:first-of-type {
  margin: 0 0 40px 0;
  padding: 0 0 40px 0; }

.c-wysiwyg-content h2,
.c-wysiwyg-content h3,
.c-wysiwyg-content > p + h2:first-of-type,
.c-wysiwyg-content > p + h3:first-of-type,
.c-wysiwyg-content ul + h2:first-of-type,
.c-wysiwyg-content ul + h3:first-of-type,
.c-wysiwyg-content ol + h2:first-of-type,
.c-wysiwyg-content ol + h3:first-of-type {
  margin: 60px 0 40px 0; }

h2:after,
h3:after {
  content: '';
  background-color: #76BD22;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 60px;
  height: 8px; }

/* Select h2's and h3's after a responsive video to lessen the space between. */
.c-responsive-embed + h2,
.c-responsive-embed + h3 {
  margin: 0 0 40px 0; }

h3 {
  font-family: 'Open Sans', sans-serif;
  font-size: 26px;
  font-weight: 700; }

h4, h5 {
  margin: 20px 0 20px 0; }

h4 {
  font-size: 22px; }

h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.6; }

h6 {
  margin: 20px 0 10px 0; }

@media screen and (max-width: 89.9375em) {
  h1 {
    font-size: 58px;
    margin: 0 0 40px 0;
    max-width: initial; }
  h2 {
    font-size: 36px; }
  .c-wysiwyg-content h2,
  .c-wysiwyg-content h3,
  .c-wysiwyg-content > p + h2:first-of-type,
  .c-wysiwyg-content > p + h3:first-of-type,
  .c-wysiwyg-content ul + h2:first-of-type,
  .c-wysiwyg-content ul + h3:first-of-type,
  .c-wysiwyg-content ol + h2:first-of-type,
  .c-wysiwyg-content ol + h3:first-of-type {
    margin: 40px 0; }
  h3 {
    font-size: 24px; }
  h4, h5 {
    margin: 20px 0; }
  h6 {
    margin: 20px 0 10px 0; } }

@media screen and (max-width: 63.9375em) {
  h1 {
    font-size: 42px; } }

@media screen and (max-width: 39.9375em) {
  h1 {
    font-size: 32px; }
  h2 {
    font-size: 30px; } }

/*
Exceptions for header when placed after classes beginning padding. u-padding-[x]
***/
/*
Removes the margin from header when placed directly after '.u-padding-top' or '.u-padding-y'.
Also applied when u-padding-top or u-padding-y is placed on a wrapper element with '.c-wrapper'.
*/
/*
Removes the margin for page headers that are automatially output on page.
This is because the wrapping div stops margin collapse.
***/
.c-automatic-page-heading {
  margin: 0; }

.header-stripped {
  padding: 0; }

.header-stripped:after {
  display: none; }

.u-header--secondary-font {
  font-family: 'Open Sans', sans-serif;
  font-size: 30px;
  font-weight: 700; }

.u-header--margin-stripped {
  margin: 0 0 10px !important; }

p {
  word-wrap: break-word; }

p, li, th, td, legend {
  font-size: 20px; }

legend {
  margin-bottom: 0; }

p.text-larger, p.lead {
  font-size: 24px; }

ul, ol, dl {
  margin-left: 2rem; }

span.icon--large {
  font-size: 80px; }

/* ADDITIONAL TYPOGRAPHY */
/***
H2 Header
***/
/***
H3 Header
***/
/***
H4 Header
***/
.flex-wrap {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.u-height-100 {
  height: 100%; }

.u-cursor-pointer {
  cursor: pointer; }

.u-relative {
  position: relative; }

.u-block {
  display: block; }

.u-full-width {
  width: 100%; }

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

/***
    Typography
***/
@media screen and (min-width: 40em) {
  .u-column--two {
    -webkit-column-count: 2;
    column-count: 2; } }

/***
	Typography
***/
.u-font-primary {
  font-family: 'FSMaja', serif;
  font-weight: 300; }

.u-callout-text {
  font-size: 90px; }

.u-text-uppercase {
  text-transform: uppercase; }

.u-font-normal {
  font-weight: 300; }

.u-font-semibold {
  font-weight: 600; }

.u-font-bold {
  font-weight: 700; }

/***
    Spacing
***/
/*
Margin
******/
.u-margin-y {
  margin: 60px auto; }

.u-margin-top {
  margin-top: 60px; }

.u-margin-bottom {
  margin-bottom: 60px; }

@media screen and (max-width: 89.9375em) {
  .u-margin-y {
    margin: 40px auto; }
  .u-margin-top {
    margin-top: 40px; }
  .u-margin-bottom {
    margin-bottom: 40px; } }

/*
Padding
******/
.u-padding-y {
  padding: 60px 0; }

.u-padding-top {
  padding-top: 60px; }

.u-padding-bottom {
  padding-bottom: 60px; }

@media screen and (max-width: 89.9375em) {
  .u-padding-y {
    padding: 40px 0; }
  .u-padding-top {
    padding-top: 40px; }
  .u-padding-bottom {
    padding-bottom: 40px; } }

/***
Social Media Icons - Colour
***/
.c-icon-twitter {
  color: #55acee; }

.c-icon-facebook {
  color: #3b5998; }

.c-icon-instagram {
  color: #125688; }

.c-icon-youtube {
  color: #ff0000; }

.c-icon-linkedin {
  color: #007bb5; }

.c-social-list span[class^="uos-"] {
  display: inline-block;
  font-size: 30px;
  padding: 15px 15px 0 0; }

/***
Video Masthead
***/
.c-video-masthead {
  max-height: 689px;
  min-height: 689px;
  overflow: hidden;
  position: relative; }

.c-video-masthead video {
  min-height: 100%;
  min-width: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.c-video-masthead:after {
  content: '';
  position: absolute;
  width: 100%;
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  left: 0;
  top: 0; }

.c-video-masthead__container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  z-index: 1; }

.c-video-masthead__callout-text {
  color: #FFFFFF;
  padding: 20px 0;
  line-height: 85%;
  margin: 0 0 81px 0; }

.c-video-masthead__callout-text:after {
  content: '';
  position: absolute;
  height: 31px;
  bottom: 0;
  right: 106px;
  width: 9999px;
  border-right: 7px solid #FFFFFF;
  border-bottom: 7px solid #FFFFFF; }

.c-video-masthead--opacity {
  color: rgba(255, 255, 255, 0.7); }

@media screen and (max-width: 89.9375em) {
  .c-video-masthead {
    max-height: 500px;
    min-height: 500px; }
  .c-video-masthead video {
    min-height: 500px; }
  .c-video-masthead__callout-text {
    font-size: 51px;
    margin: 0 0 40px 0; }
  .c-video-masthead__callout-text:after {
    right: 60px; } }

@media screen and (max-width: 39.9375em) {
  .c-video-masthead__image {
    height: 470px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; }
  .c-video-masthead {
    min-height: initial; } }

@media screen and (max-width: 500px) {
  .c-video-masthead__callout-text {
    font-size: 40px; }
  .c-video-masthead__callout-text:after {
    right: 40px; } }

/***
Your Study Route
***/
.c-study-route {
  margin: 110px 0; }

.c-study-route__button {
  padding: 69px 20px;
  margin: 0;
  width: 100%; }

.c-study-route--overlay .c-study-route__wrapper {
  position: relative; }

.c-study-route--overlay .c-study-route__body {
  position: absolute;
  width: 100%;
  top: -250px; }

@media screen and (min-width: 1024px) and (max-width: 1050px) {
  .c-study-route__button {
    height: 100%; }
  .c-study-route__button {
    padding: 49px 20px; } }

@media screen and (max-width: 89.9375em) {
  .c-study-route {
    margin: 70px 0; } }

@media screen and (max-width: 63.9375em) {
  .c-study-route {
    margin: 60px 0; }
  .c-study-route__button {
    padding: 34px 20px;
    margin: 0 0 20px 0; } }

@media screen and (max-width: 39.9375em) {
  .c-study-route {
    margin: 40px 0 20px 0; }
  .c-study-route__button {
    margin: 10px 0; }
  .c-study-route--overlay .c-study-route__body {
    position: static; } }

/***
Promo Area
***/
.c-promo-area.slick-dotted.slick-slider {
  margin: 0 0 130px 0;
  overflow: hidden; }

.c-promo-area__slide {
  position: relative;
  overflow: hidden; }

.c-promo-area__content h2:after,
.c-promo-area__content h3:after {
  background-color: transparent; }

.c-promo__header {
  font-size: 90px;
  line-height: 76px;
  margin: 0 0 16px 0; }

.c-promo__subheader {
  color: #D41568;
  font-size: 46px;
  line-height: 48px;
  margin: 0; }

.c-promo__header,
.c-promo__subheader {
  padding: 0 15px 20px 0;
  position: relative; }

.c-promo__header:after,
.c-promo__subheader:after {
  content: '';
  position: absolute;
  width: 9999px;
  height: 31px;
  left: initial;
  right: 0;
  bottom: 0;
  border-right: 7px solid  #8EBB38;
  border-bottom: 7px solid  #8EBB38; }

.c-promo__header,
.c-promo__subheader,
.c-promo__info {
  font-family: 'FSMaja', serif;
  font-weight: 300;
  text-transform: uppercase; }

.c-promo__info {
  font-size: 36px;
  line-height: 38px; }

.c-promo-area__h2 {
  font-size: 33px; }

.c-promo-area__button {
  margin-top: 45px; }

.c-promo-area__content {
  width: 41.2%;
  padding: 30px; }

.c-promo-area--height {
  min-height: 700px; }

.c-promo-area__image {
  position: absolute;
  right: 0;
  top: 0;
  padding: 0;
  width: 53%;
  margin-left: -3%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

.c-promo-area__image[style*='background-image'] {
  height: 100%; }

.c-promo-area__image-slide {
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative; }

.c-promo-area__image-slide img {
  max-width: 100%;
  max-height: 100%;
  width: auto; }

.c-promo-area__image-caption {
  position: absolute;
  top: 300px;
  width: 300px;
  left: 20px;
  color: #fefefe;
  z-index: 1000000; }
  .c-promo-area__image-caption p {
    font-size: 16px; }

.c-promo-area ul.slick-dots {
  max-width: 1240px;
  margin: 0 auto;
  right: 0;
  bottom: 0;
  padding: 0 30px; }

@media screen and (max-width: 77.4375em) {
  .c-promo__header {
    font-size: 60px;
    line-height: 62px; }
  .c-promo__subheader {
    font-size: 40px;
    line-height: 42px; }
  .c-promo__info {
    font-size: 30px;
    line-height: 32px; }
  .c-promo-area--height {
    min-height: 500px; } }

@media screen and (max-width: 63.9375em) {
  .c-promo-area--height {
    min-height: 374px; }
  .c-promo-area__content {
    width: 50%; }
  .c-promo-area__image {
    width: 50%;
    margin-left: -5%; } }

@media screen and (max-width: 63.9375em) {
  .c-promo-area.slick-dotted.slick-slider {
    margin: 0 0 80px 0; } }

@media screen and (max-width: 63.9375em) {
  .c-promo-area ul.slick-dots {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 30px 0; }
  .c-promo-area.slick-dotted.slick-slider {
    margin: 0; }
  .c-promo-area__content,
  .c-promo-area__image {
    width: 100%; }
  .c-promo-area--height {
    display: block;
    min-height: initial; }
  .c-promo-area {
    margin: 0 0 55px 0; }
  .c-promo-area__image {
    position: relative;
    margin-left: 5%;
    min-height: 300px; } }

/***
Statistics
***/
.c-statistic-block {
  padding: 67px 0; }

.c-statistic {
  color: #FFFFFF;
  font-size: 26px; }

.c-statistic__text {
  font-size: 26px; }

.c-statistic__text {
  margin: 0; }

.c-statistic__callout-text {
  font-size: 140px;
  line-height: 0.7;
  margin: 0 0 10px 0; }

.c-statistic__callout-text--smaller {
  font-size: 88px; }

.c-statistic__reference-text {
  font-size: 16px; }

.c-statistic__icon {
  margin: 0 0 0 20px; }

.c-statistic [class*="uos-"] {
  font-size: 140px; }

/***
International Section
***/
.c-international-section {
  margin-top: 130px;
  overflow: hidden; }

.c-international__text-container {
  color: #3B693D;
  padding: 50px 60px;
  min-width: 475px;
  max-width: 475px; }

.c-international__text {
  font-size: 18px; }

.c-international__icon {
  max-height: 80px; }

.c-international__background-overlay {
  min-height: 700px;
  position: absolute;
  top: 100px;
  width: 100%;
  z-index: -1; }

.c-international__header {
  font-size: 55px;
  line-height: 1; }

.c-international__link {
  margin-top: 40px; }

@media screen and (max-width: 639px) {
  .c-international-section {
    margin-top: 60px; }
  .c-international__text-container {
    min-width: initial;
    max-width: initial; }
  .c-international__background-overlay {
    min-height: inherit;
    height: 100%;
    top: 0; }
  .c-international__header {
    font-size: 45px; }
  .c-international__text {
    font-size: 15px; }
  .c-international__link {
    margin-top: 20px; } }

/***
Homepage News and Events
***/
.c-homepage-news-events img {
  width: 100%; }

@media screen and (max-width: 1023px) {
  .c-homepage-news-events .c-news-events__news .c-news-events__article:last-child {
    display: none; } }

/***
News and Events
***/
.c-news-events__header {
  display: inline-block;
  margin: 0 20px 31px 0; }

.c-news-events-header > .link {
  display: inline-block; }

.c-news-events__title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  padding: 0; }

.c-news-events__title:after {
  background-color: transparent;
  position: relative; }

.c-news-events__summary {
  font-size: 16px; }

.c-news-events__article-meta,
.c-news-events__news .c-news-events__time,
.c-news-events__title {
  display: block;
  margin: 16px 0; }

.c-news-events__time,
.c-news-events__event-location {
  color: #5B564E; }

@media screen and (max-width: 1023px) {
  .c-news-events__news .c-news-events__article:last-child {
    display: none; } }

@media screen and (max-width: 639px) {
  .c-news-events__news .c-news-events__article:first-child {
    margin-bottom: 30px; } }

.video-container {
  max-height: 650px;
  overflow: hidden; }

.video-container video {
  display: block; }

.video-wrap {
  position: relative; }

.video-wrap h1 {
  color: #FFF;
  font-size: 70px;
  text-transform: uppercase; }

.video-wrap .gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1); }

.video-text {
  position: absolute;
  top: 0;
  margin: 6% 0 0 4%;
  z-index: 1; }

.promo {
  color: #FFFFFF; }

.promo > .grid-container {
  background-image: url("/images/green-map.png");
  padding: 85px 0; }

.promo--calendar {
  margin: 30px 0;
  text-transform: uppercase; }

.promo--calendar-container {
  margin: 0 auto;
  position: relative; }

.promo .uos-calendar {
  font-size: 130px; }

.promo--calendar .date {
  font-family: "FSMaja", serif;
  font-weight: 300;
  font-size: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 80%;
  width: 100%; }

.promo--button {
  background-color: #FFFFFF;
  color: #006938;
  font-weight: 700; }

.research {
  background-image: url("/images/research-image.png");
  background-repeat: no-repeat;
  background-size: 100%;
  margin: 115px 0 200px;
  padding: 108px 0; }

.research h1 {
  margin: 0 0 60px 0; }

.research--article {
  background-color: #FFF;
  padding: 60px; }

.research--article h2 {
  color: #006938;
  font-size: 35px;
  margin: 0 0 50px 0; }

.research .callout-buttons {
  padding-top: 0;
  padding-bottom: 0;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -170px; }

.international .grid-x {
  max-height: 820px;
  position: relative; }

.international--feature-image {
  bottom: 60px;
  position: relative;
  right: 360px; }

.cell.international--content {
  background-color: #FFFFFF;
  font-size: 22px;
  padding: 50px;
  position: absolute;
  bottom: 0; }

.international--content p {
  text-transform: uppercase;
  line-height: 1.2; }

.international--content .uos-globe {
  color: #76BD22;
  font-size: 72px;
  margin: 0 40px 0 0; }

.international--content sup {
  font-size: 50px;
  top: -1.2em; }

.chevron-right {
  display: inline-block;
  margin: 0 0 0 10px;
  width: 10px; }

.link {
  color: #006938;
  font-size: 23px; }

/* COURSES */
/***
Header for Course Pages
***/
.c-course-heading {
  font-family: "FSMaja", serif;
  font-weight: 300;
  font-size: 60px;
  margin-bottom: 0;
  position: relative; }

.c-course-title__heading {
  max-width: none;
  margin-bottom: 10px; }

.c-course-title__ucas-codes {
  font-size: 24px; }

.c-course-options {
  margin-left: 32px; }
  .c-course-options [class^="uos-"], .c-course-options [class*=" uos-"] {
    color: #006938; }

.c-course-options__icon {
  position: relative;
  display: inline-block;
  cursor: help;
  margin-right: 10px; }

.c-course-options__tooltip {
  display: none;
  width: 250px;
  background-color: #e6e6e6;
  color: #006938;
  text-align: center;
  padding: 10px;
  font-size: 16px;
  position: absolute;
  z-index: 6; }

.c-course-options__icon:hover .c-course-options__tooltip {
  display: block; }

.c-course-title__logos {
  padding: 30px 0; }
  .c-course-title__logos p {
    margin: 0; }
  .c-course-title__logos ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .c-course-title__logos ul li {
      display: inline;
      margin-right: 30px;
      margin-bottom: 1rem; }
      @media screen and (max-width: 39.9375em) {
        .c-course-title__logos ul li {
          display: block; }
          .c-course-title__logos ul li:last-child {
            margin-bottom: 0; } }

.c-course-title__buttons {
  margin: 0 0 40px 0;
  margin-top: 1rem; }
  .c-course-title__buttons .button {
    margin: 0 28px 20px 0; }
    .c-course-title__buttons .button:last-child {
      margin-right: 0; }

.c-course-title-sticky-menu {
  display: none;
  position: fixed;
  z-index: 4;
  top: 0;
  left: 0;
  width: 100%;
  background: #fefefe;
  box-shadow: 0px 5px 1px rgba(0, 0, 0, 0.2); }

.c-course-title-sticky-menu__title {
  margin-top: 1rem;
  padding-top: 21px;
  font-size: 18px;
  font-weight: bold; }
  @media screen and (max-width: 39.9375em) {
    .c-course-title-sticky-menu__title {
      font-size: 14px; } }

.c-course-title-sticky-menu__buttons {
  margin-top: 1rem;
  text-align: right; }
  .c-course-title-sticky-menu__buttons .button {
    margin: 0 28px 20px 0; }
    .c-course-title-sticky-menu__buttons .button:last-child {
      margin-right: 0; }
  @media screen and (max-width: 39.9375em) {
    .c-course-title-sticky-menu__buttons {
      text-align: left; }
      .c-course-title-sticky-menu__buttons .button {
        font-size: 13px;
        padding: 12px 10px;
        margin: 0 18px 20px 0; } }

.c-course-tabs__tabs.tabs--dark.accordion .accordion .accordion-title,
.c-course-tabs__tabs.tabs--dark.accordion .accordion .accordion-title:hover,
.c-course-tabs__tabs.tabs--dark.accordion .accordion .accordion-title:focus {
  background-color: transparent;
  color: #3A3C39; }

.c-course-tabs__tabs.tabs--dark.accordion > .accordion-item .accordion-content {
  background-color: #f6f5f4; }

.c-course-tabs__tabs-wrapper {
  background: transparent; }

@media screen and (min-width: 64em) {
  .c-course-tabs__tabs-wrapper {
    background: #373a36; } }

.c-course-tabs__content-wrapper {
  margin-bottom: 80px; }
  .c-course-tabs__content-wrapper p, .c-course-tabs__content-wrapper li, .c-course-tabs__content-wrapper th, .c-course-tabs__content-wrapper td {
    font-size: 16px; }

.c-course-overview__primary-accordion {
  margin-bottom: 0; }

#ug-overview-accordion__kis-widget .slick-dots {
  text-align: center;
  bottom: -30px;
  width: 100%;
  display: inline-block; }

#ug-overview-accordion__kis-widget .slick-arrow {
  display: none; }

#ug-overview-accordion__kis-widget .slick-dotted.slick-slider {
  margin: 0; }

#course-modules-description__header {
  margin-bottom: 20px; }

#course-modules-description__body p, #course-modules-description__body li, #course-modules-description__body th, #course-modules-description__body td {
  font-size: 16px; }

.c-course-modules__table {
  margin: 0;
  border-top: none; }
  .c-course-modules__table tbody tr {
    background: #fefefe;
    border-bottom: 14px solid #f6f5f4; }
    .c-course-modules__table tbody tr tr, .c-course-modules__table tbody tr td {
      padding: 15px;
      background: #fefefe; }

.c-course-modules__module-not-available {
  display: none; }

.c-course-modules__table + .c-course-modules__collection-header,
.c-course-modules__view-more-link + .c-course-modules__collection-header,
.c-course-modules__pdm-note + .c-course-modules__collection-header {
  margin-top: 1.5rem; }

.c-course-modules__divide {
  padding: 18px 24px;
  background: #006938;
  color: #fefefe;
  margin-top: 18px;
  margin-bottom: 32px; }

.c-course-modules__module-code {
  font-size: 80%;
  color: #cacaca; }

.c-course-modules__accordion-content--hide-rows tr:nth-of-type(5) ~ tr {
  display: none; }

.c-course-modules__pdm-note {
  font-size: 14px !important;
  font-style: italic; }

.c-course-modules__collection-header {
  font-weight: bold;
  margin-bottom: 0; }
  .c-course-modules__collection-header + table {
    margin-top: 1rem; }

.c-course-modules__collection-notes {
  font-size: 14px !important; }

.course-modules__loading {
  margin-bottom: 50px; }

.c-local-currency {
  display: none; }

.c-local-currency__title {
  font-weight: 700; }

.c-local-currency__value {
  font-size: 200%; }

.c-local-currency__note {
  font-style: italic; }

#ug-course-tabs__course-details .c-section-heading, #ug-course-tabs__course-details .c-search-result__link {
  margin-bottom: 2rem; }

.c-course-fees__table {
  display: none; }
  .c-course-fees__table tbody tr {
    display: none; }

.course-fees-table__tuition-fee-note {
  font-size: 14px !important;
  margin-top: 2rem !important; }

.c-course-testimonial__wrapper .c-responsive-embed {
  background: #000; }

.c-course-related__buttons ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  .c-course-related__buttons ul li {
    background-color: #373a36;
    border: 2px solid transparent;
    color: #fefefe;
    cursor: pointer;
    padding: 11px 15px;
    margin: 0 0 12px 0;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); }
    .c-course-related__buttons ul li:after {
      content: "\e97b";
      font-family: 'uos';
      position: absolute;
      right: 20px;
      top: 11px; }
    .c-course-related__buttons ul li:hover {
      background-color: #fefefe;
      border: 2px solid #373a36;
      color: #373a36; }
      .c-course-related__buttons ul li:hover a, .c-course-related__buttons ul li:hover strong {
        color: #373a36; }
    .c-course-related__buttons ul li a {
      color: #fefefe; }
      .c-course-related__buttons ul li a + strong {
        position: absolute;
        right: 60px; }

@media screen and (max-width: 63.9375em) {
  .c-course-related__buttons ul li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .c-course-related__buttons ul li a + strong {
      position: relative;
      right: 0;
      width: 100%; } }

.c-course-related {
  padding-right: 100px;
  padding-left: 100px; }

.c-whats-next {
  padding: 80px 0; }

.c-course-whats-next__wrapper {
  background: #006938;
  color: #fefefe;
  padding: 16px 0; }
  .c-course-whats-next__wrapper h3 {
    margin: 0 0 15px 0;
    color: #fefefe; }

.c-course-whats-next__link {
  text-align: center;
  color: #fefefe;
  font-size: 16px;
  font-weight: bold;
  margin: 10px 0; }
  .c-course-whats-next__link::after {
    content: " \e97b";
    font-family: "uos"; }
  .c-course-whats-next__link:hover {
    color: #fefefe;
    text-decoration: underline; }

@media screen and (max-width: 39.9375em) {
  .c-whats-next {
    padding: 0; }
  .c-course-whats-next__link {
    display: block; } }

/* COUNTRIES */
.c-course-search-widget__query-wrapper {
  width: 100%;
  position: relative; }

.c-country-search__query {
  border: none;
  border-bottom: 5px solid #CDCDCD;
  box-shadow: none;
  font-size: 2.0625rem;
  height: 100%;
  margin: 0 2.8125rem 0 0;
  padding: 1rem 0 1rem 4.1875rem;
  background-image: url(../../dist/css/images/icons/magnify-course-search.svg);
  background-repeat: no-repeat;
  background-position: 0 25px;
  background-color: transparent;
  transition: border-bottom 0.3s ease-in-out;
  margin-bottom: 30px; }
  .c-country-search__query:focus {
    border-bottom: 5px solid #8EBB38; }

.c-countries-letters {
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  margin-right: -10px; }

.c-countries-letters__box {
  display: inline-block;
  width: calc(100% / 13);
  padding-right: 10px; }
  .c-countries-letters__box a {
    background: #f6f5f4;
    display: block;
    padding: 20px;
    margin-bottom: 10px;
    font-weight: bold; }
    .c-countries-letters__box a[data-disabled] {
      color: #c5bfb7;
      cursor: not-allowed; }

.c-countries__link {
  text-decoration: none;
  font-weight: bold;
  border: none; }

.c-countries__img {
  margin-bottom: 1rem; }

/* FACULTIES */
.c-faculty-masthead .c-masthead__callout-text:after {
  right: -30px; }

.c-faculty-intro {
  padding: 70px 0; }

.c-faculty-promo {
  position: relative; }

.c-faculty-promo__buttons {
  position: absolute;
  width: 100%;
  bottom: -50px; }

@media screen and (min-width: 40em) {
  .c-faculty-promo {
    margin-bottom: 150px;
    min-height: 850px; } }

@media screen and (max-width: 39.9375em) {
  .c-faculty-promo__buttons {
    position: static; } }

.c-section-box__heading {
  border-top: 3px solid #76BD22;
  padding-top: 25px;
  padding-bottom: 15px;
  font-size: 24px; }

.c-faculty-research-section {
  padding: 80px 0;
  overflow: hidden; }

.c-faculty-contact {
  margin-bottom: 80px; }

/*  Scholarships */
.c-scholarship-search {
  padding: 50px 0; }

.c-scholarship-search__loading,
.c-scholarship-search__results {
  display: none; }

.c-scholarship-search-results {
  padding: 50px 0; }

.c-scholarship-search-result {
  margin-bottom: 50px; }

.c-scholarship-search-result__title {
  margin-bottom: 1rem; }

.c-scholarship-search-result__detail {
  background: #f6f5f4;
  padding: 20px;
  margin-bottom: 30px; }

.c-scholarship-search-result__details > .cell:first-child .c-scholarship-search-result__detail {
  border-left: 3px solid #76BD22; }

/*  Scholarships */
.c-testimonials-search {
  padding: 50px 0; }

.c-testimonials-search__loading,
.c-testimonials-search__results {
  display: none; }

#container {
  border: 1px solid;
  padding: 5px; }

.c-testimonial-result__container {
  position: relative; }

.c-testimonial-result {
  width: 33.333%;
  padding-right: 30px;
  float: left; }

@media screen and (max-width: 63.9375em) {
  .c-testimonial-result {
    width: 50%; } }

@media screen and (max-width: 39.9375em) {
  .c-testimonial-result {
    width: 100%; } }

/***
INTERNAL HOMEPAGE

Styles the internal homepage for the website.
***/
.c-header-burger {
  width: 28px;
  height: 25px;
  position: relative;
  cursor: pointer;
  margin: 8px 16px 5px; }

.c-header-burger__bun,
.c-header-burger__bun:before,
.c-header-burger__bun:after {
  background-color: #3e3e3e;
  width: 100%;
  height: 5px; }

.c-header-burger__bun {
  transition: width 0.1s ease-in-out 0.3s; }

.c-header-burger__bun:before,
.c-header-burger__bun:after {
  content: '';
  position: absolute; }

.c-header-burger__bun:before {
  top: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: top 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: top 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

.c-header-burger__bun:after {
  bottom: 0;
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
  transition: bottom 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out;
  transition: bottom 0.3s ease-in-out 0.3s, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }

/*.c-header-burger.nav-is-open .c-header-burger__bun {
    width: 0;
    transition: width 0.1s ease-in-out 0.3s;
}
.c-header-burger.nav-is-open .c-header-burger__bun:before {
    top: 10px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: top 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
    transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
    transition: top 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s;
}
.c-header-burger.nav-is-open .c-header-burger__bun:after {
    bottom: 10px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: bottom 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out 0.3s;
    transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s;
    transition: bottom 0.3s ease-in-out, transform 0.3s ease-in-out 0.3s, -webkit-transform 0.3s ease-in-out 0.3s;
}*/
/***
Internal Masthead
***/
.c-image-text-block--internal > .grid-container {
  min-height: 250px; }

.c-image-text-block--internal .c-image-text-block__image {
  background-position: top center; }

.internal-pages .intro {
  margin-top: 60px; }

.internal-pages .intro h1 {
  color: #006938;
  font-size: 36px; }

.internal-pages .intro p {
  font-size: 26px; }

.internal-search-bar {
  margin: 60px 0; }

.internal-index {
  padding: 0 0 60px; }

.internal-pages .internal-index-columns,
.internal-pages .header--internal-menu ul {
  -webkit-column-count: 3;
  column-count: 3; }

.internal-pages ul {
  /*
	-webkit-column-break-inside: avoid;
	          page-break-inside: avoid;
	               break-inside: avoid;
    */ }

.internal-index h2 {
  color: #3A3C39;
  font-family: "FSMaja", serif;
  font-size: 26px;
  font-weight: 300;
  max-width: 75%; }

.internal-pages .internal-index a:hover {
  color: #006938; }

.internal-pages .placeholder .uos-magnifying-glass {
  color: #006938; }

@media screen and (max-width: 77.4375em) {
  .internal-pages .internal-index-columns {
    -webkit-column-count: 2;
    column-count: 2; } }

@media screen and (max-width: 39.9375em) {
  .internal-pages .internal-index-columns {
    -webkit-column-count: 1;
    column-count: 1; } }

@media screen and (max-width: 835px) {
  .internal-index h2 {
    max-width: none; }
  /***
	INTERNAL ACCORDION
	***/
  .accordion-section {
    border-bottom: 1px solid #3A3C39;
    margin: 0;
    padding: 25px 0; }
  .accordion-column-section {
    display: block; }
  .accordion-column-section-title {
    cursor: pointer; }
  .accordion-column-section-title:before {
    content: '+';
    color: #006938;
    position: absolute;
    right: 0;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
  .accordion-column-section-state:checked + .accordion-column-section .accordion-column-section-title:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .accordion-column-section-list {
    /*
		margin: 0;
	    overflow: hidden;
	    padding-top: 5px;
	    padding-bottom: 16px;
	    position: absolute;
	    top: 100%;
	    left: 0;
	    width: 100%;
 	    visibility: hidden;
	    z-index: -1;
	    transform: translateY(-60px);
*/ }
  .accordion-column-section-state:checked + .accordion-column-section .accordion-column-section-list {
    position: static;
    visibility: visible;
    z-index: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px); } }

/***
INTERNAL ACCORDION

***/
.accordion-section {
  margin: 0 0 40px; }

.accordion-column {
  position: relative; }

.accordion-column-section-state {
  display: none; }

.accordion-column-section {
  display: inline-block;
  width: 100%; }

.accordion-column-section-title {
  background-color: #ffffff;
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 2; }

.accordion-column-section-item a {
  color: #8e8e8e; }

@media screen and (max-width: 639px) {
  .internal-search-bar {
    margin: 30px 0 0; }
  .internal-pages .intro h1 {
    font-size: 28px; }
  .internal-pages .intro p {
    font-size: 18px; }
  .internal-pages .placeholder .uos-magnifying-glass {
    font-size: 20px; } }

/***
INTERNAL OVERVIEW PAGE

Styles the internal overview pages for the website.
***/
.internal-page-content hr {
  border-bottom: 3px solid #f6f5f4;
  margin: 1.6rem 0 2.3rem; }

.internal-page-content .bb-note {
  font-size: 0.9rem; }

.internal-page-main-content-header h1 {
  margin: 0 0 40px 0; }

/* rk */
.internal-banner img {
  margin-bottom: 1.875rem; }

.internal-page-main-content .promo-box h2 {
  margin-top: 0rem; }

.internal-page-main-content .promo-box span[class^="uos-"] {
  font-size: 4rem; }

.internal-page-main-content .useful-links {
  background: #3B6938;
  padding: 40px 20px; }

.internal-page-main-content .useful-links h2 {
  color: #fff; }

.internal-page-main-content .useful-links ul {
  -webkit-column-count: 3;
  column-count: 3;
  margin-left: 0; }

@media screen and (max-width: 639px) {
  .internal-page-main-content .useful-links ul {
    -webkit-column-count: 1;
    column-count: 1; } }

.internal-page-main-content .useful-links ul li {
  margin-bottom: 20px;
  list-style: none;
  text-align: center;
  -webkit-column-break-inside: avoid;
  break-inside: avoid; }

.internal-page-main-content .useful-links ul li a {
  color: #fff; }

.internal-page-main-content .useful-links ul li a::after,
.internal-page-main-content .useful-links ul li a.button::after {
  content: "›";
  left: 10px;
  position: relative; }

/* end rk */
.internal-page-main-content p.lead {
  font-weight: bold; }

.internal-sub-section-navigation {
  background-color: #F6F5F4;
  border-left: 7px solid #76BD22;
  padding: 30px;
  margin: 0 0 1rem 0;
  width: 100%; }

.internal-sub-section-navigation ol, .internal-sub-section-navigation ul {
  counter-reset: item;
  -webkit-column-count: 2;
  column-count: 2;
  margin: 0; }

.internal-sub-section-navigation li {
  color: #006938;
  list-style: none;
  margin: 0 0 15px 30px;
  position: relative; }

.internal-sub-section-navigation li a {
  border-bottom: 2px solid #006938; }

.internal-sub-section-navigation li:before {
  counter-increment: item;
  content: counter(item) ". ";
  font-size: 22px; }

@media screen and (max-width: 639px) {
  .internal-sub-section-navigation ul {
    -webkit-column-count: 1;
    column-count: 1; } }

.internal-sidebar-menu nav {
  position: -webkit-sticky;
  position: sticky;
  top: 30px; }

.internal-sidebar-menu a {
  color: #746E64;
  font-size: 18px; }

.internal-sidebar-menu li {
  list-style: none;
  margin: 10px 0; }

.internal-sidebar-menu span {
  color: #746E64;
  font-size: 18px; }

.internal-sidebar-menu .multilevel-linkul-1 {
  position: relative; }

.internal-sidebar-menu .multilevel-linkul-1 span[class*="current"] {
  display: block;
  padding-left: 30px;
  position: relative; }

.internal-sidebar-menu .multilevel-linkul-1 span[class*="current"]:before {
  content: '';
  position: absolute;
  border-left: 5px solid #76BD22;
  height: 100%;
  left: 0;
  top: 0; }

.internal-sidebar-menu span.currentbranch0 a,
.internal-sidebar-menu span.currentbranch1 a {
  color: #006938;
  font-weight: 700; }

.internal-sidebar-menu ul.multilevel-linkul-0 a {
  font-size: 16px; }

.internal-sidebar-menu ul[class*="multilevel"] {
  padding-left: 30px; }

.internal-pages-mobile-menu {
  display: none;
  background-color: #F6F5F4;
  padding: 15px;
  margin: 0 0 35px 0; }

.internal-sub-section--button {
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  margin: 85px 0 0 0; }

.internal-sub-section--button a {
  background-color: #F6F5F4;
  padding: 25px 40px;
  font-size: 18px;
  font-weight: 400;
  margin: 25px; }

/* rk */
.accordion-column-section-item {
  -webkit-column-break-inside: avoid;
  break-inside: avoid;
  page-break-inside: avoid; }

.accordion-column-section-list li ul {
  margin-bottom: 20px; }

.accordion-column-section-list > li > a {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: bold;
  font-family: "FSMaja", serif;
  font-weight: 200;
  font-size: 1.5rem;
  color: #3B693D; }

@media screen and (max-width: 1024px) {
  .internal-sub-section-navigation ol {
    -webkit-column-count: 1;
    column-count: 1; } }

@media screen and (max-width: 639px) {
  .internal-sub-section-navigation {
    padding: 35px 30px 25px; }
  .internal-sub-section-navigation li {
    margin: 0 0 10px 30px; }
  .internal-sidebar-menu li.currentbranch0:before {
    content: '\e93c';
    font-family: 'uos'; } }

/***
Accommodation Pages
***/
/*
Accommodation Search
***/
.c-accommodation-search {
  padding: 50px 0; }

.c-accommodation-search__loading,
.c-accommodation-search__results {
  display: none; }

.c-accommodation-search__icon-list {
  margin-bottom: 30px; }

.c-accommodation-search__icon-list .icon-list__list-item {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start; }

/*
Accommodation Key Info
***/
.c-accomm-key-info > div {
  margin: 0 0 20px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.c-accomm-key-info p {
  margin: 0; }

.c-accomm-key-info > div:last-of-type {
  margin: 0; }

.c-accomm-key-info span[class^="uos-"] {
  margin: 0 30px 0 0; }

.c-accomm-additional-info span[class^="uos-"] {
  display: block;
  margin: 0 0 10px 0; }

.c-accomm-key-info span[class^="uos-"],
.c-accomm-additional-info span[class^="uos-"] {
  color: #006938;
  font-size: 72px; }

/*
Accommodation Additonal Info
***/
.c-accomm-additional-info {
  text-align: center; }

@media screen and (max-width: 89.9375em) {
  .c-accomm-key-info span[class^="uos-"],
  .c-accomm-additional-info span[class^="uos-"] {
    font-size: 50px; } }

@media screen and (max-width: 39.9375em) {
  .c-accomm-key-info > div {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start; }
  .c-accomm-key-info span[class^="uos-"] {
    font-size: 30px; }
  .c-accomm-key-info span[class^="uos-"] {
    margin: 0 15px 0 0; }
  .c-accomm-additional-info .cell {
    padding: 15px 30px; } }

/*
Accommodation maps
***/
.c-accommodation-map {
  position: relative;
  padding-bottom: 28%;
  height: 0;
  overflow: hidden; }

@media screen and (max-width: 89.9375em) {
  .c-accommodation-map {
    padding-bottom: 50%; } }

@media screen and (max-width: 39.9375em) {
  .c-accommodation-map {
    padding-bottom: 75%; } }

.c-search-filters-menu {
  list-style: none;
  margin: 0;
  margin-left: 10px;
  padding: 0;
  display: inline-block; }
  @media screen and (max-width: 39.9375em) {
    .c-search-filters-menu {
      margin-left: 0; } }
  .c-search-filters-menu li {
    display: inline-block;
    font-size: 100%; }
    .c-search-filters-menu li a {
      font-weight: 700;
      display: block;
      margin-right: 10px;
      color: #3A3C39;
      border-bottom: 4px solid #eae9e8; }
      .c-search-filters-menu li a.is-active {
        border-bottom: 4px solid #76BD22;
        color: #006938; }

.c-search-filters-panel {
  padding: 30px 0; }
  .c-search-filters-panel label {
    display: inline-block;
    border: none;
    font-size: 100%;
    margin: 5px 0;
    cursor: pointer; }

.c-search-filters-panel__filter label[data-disabled] {
  color: #cacaca;
  cursor: not-allowed; }

.c-search-ordered-filters label {
  display: inline-block;
  padding: 5px 10px;
  padding-right: 15px;
  background-color: #eae9e8;
  border: none;
  margin-right: 5px;
  cursor: pointer;
  margin-bottom: 1rem;
  font-size: 100%; }

.c-search-result__link a {
  text-decoration: none; }

.c-search-result__course-stats {
  font-weight: 700; }

.c-search-results__loading {
  margin-bottom: 80px;
  display: none; }

.c-site-search__deep-search-link {
  font-size: 16px; }

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms; }

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0; }
  body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
    transition-delay: 50ms; }

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms; }

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0; }
  body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
    transition-delay: 100ms; }

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms; }

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0; }
  body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
    transition-delay: 150ms; }

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms; }

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0; }
  body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
    transition-delay: 200ms; }

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms; }

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0; }
  body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
    transition-delay: 250ms; }

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms; }

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0; }
  body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
    transition-delay: 300ms; }

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms; }

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0; }
  body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
    transition-delay: 350ms; }

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms; }

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0; }
  body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
    transition-delay: 400ms; }

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms; }

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0; }
  body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
    transition-delay: 450ms; }

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms; }

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0; }
  body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
    transition-delay: 500ms; }

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms; }

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0; }
  body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
    transition-delay: 550ms; }

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms; }

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0; }
  body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
    transition-delay: 600ms; }

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms; }

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0; }
  body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
    transition-delay: 650ms; }

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms; }

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0; }
  body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
    transition-delay: 700ms; }

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms; }

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0; }
  body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
    transition-delay: 750ms; }

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms; }

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0; }
  body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
    transition-delay: 800ms; }

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms; }

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0; }
  body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
    transition-delay: 850ms; }

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms; }

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0; }
  body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
    transition-delay: 900ms; }

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms; }

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0; }
  body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
    transition-delay: 950ms; }

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms; }

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0; }
  body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
    transition-delay: 1000ms; }

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms; }

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0; }
  body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
    transition-delay: 1050ms; }

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms; }

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0; }
  body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
    transition-delay: 1100ms; }

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms; }

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0; }
  body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
    transition-delay: 1150ms; }

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms; }

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0; }
  body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
    transition-delay: 1200ms; }

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms; }

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0; }
  body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
    transition-delay: 1250ms; }

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms; }

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0; }
  body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
    transition-delay: 1300ms; }

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms; }

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0; }
  body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
    transition-delay: 1350ms; }

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms; }

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0; }
  body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
    transition-delay: 1400ms; }

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms; }

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0; }
  body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
    transition-delay: 1450ms; }

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms; }

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0; }
  body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
    transition-delay: 1500ms; }

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms; }

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0; }
  body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
    transition-delay: 1550ms; }

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms; }

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0; }
  body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
    transition-delay: 1600ms; }

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms; }

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0; }
  body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
    transition-delay: 1650ms; }

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms; }

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0; }
  body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
    transition-delay: 1700ms; }

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms; }

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0; }
  body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
    transition-delay: 1750ms; }

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms; }

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0; }
  body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
    transition-delay: 1800ms; }

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms; }

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0; }
  body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
    transition-delay: 1850ms; }

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms; }

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0; }
  body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
    transition-delay: 1900ms; }

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms; }

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0; }
  body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
    transition-delay: 1950ms; }

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms; }

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0; }
  body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
    transition-delay: 2000ms; }

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms; }

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0; }
  body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
    transition-delay: 2050ms; }

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms; }

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0; }
  body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
    transition-delay: 2100ms; }

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms; }

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0; }
  body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
    transition-delay: 2150ms; }

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms; }

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0; }
  body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
    transition-delay: 2200ms; }

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms; }

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0; }
  body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
    transition-delay: 2250ms; }

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms; }

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0; }
  body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
    transition-delay: 2300ms; }

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms; }

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0; }
  body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
    transition-delay: 2350ms; }

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms; }

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0; }
  body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
    transition-delay: 2400ms; }

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms; }

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0; }
  body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
    transition-delay: 2450ms; }

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms; }

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0; }
  body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
    transition-delay: 2500ms; }

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms; }

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0; }
  body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
    transition-delay: 2550ms; }

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms; }

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0; }
  body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
    transition-delay: 2600ms; }

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms; }

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0; }
  body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
    transition-delay: 2650ms; }

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms; }

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0; }
  body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
    transition-delay: 2700ms; }

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms; }

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0; }
  body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
    transition-delay: 2750ms; }

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms; }

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0; }
  body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
    transition-delay: 2800ms; }

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms; }

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0; }
  body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
    transition-delay: 2850ms; }

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms; }

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0; }
  body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
    transition-delay: 2900ms; }

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms; }

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0; }
  body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
    transition-delay: 2950ms; }

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms; }

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0; }
  body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
    transition-delay: 3000ms; }

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1); }

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='fade'][data-aos^='fade'].aos-animate {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }

[data-aos='fade-up'] {
  -webkit-transform: translate(0, 100px);
  -ms-transform: translate(0, 100px);
  transform: translate(0, 100px); }

[data-aos='fade-down'] {
  -webkit-transform: translate(0, -100px);
  -ms-transform: translate(0, -100px);
  transform: translate(0, -100px); }

[data-aos='fade-right'] {
  -webkit-transform: translate(-100px, 0);
  -ms-transform: translate(-100px, 0);
  transform: translate(-100px, 0); }

[data-aos='fade-left'] {
  -webkit-transform: translate(100px, 0);
  -ms-transform: translate(100px, 0);
  transform: translate(100px, 0); }

[data-aos='fade-up-right'] {
  -webkit-transform: translate(-100px, 100px);
  -ms-transform: translate(-100px, 100px);
  transform: translate(-100px, 100px); }

[data-aos='fade-up-left'] {
  -webkit-transform: translate(100px, 100px);
  -ms-transform: translate(100px, 100px);
  transform: translate(100px, 100px); }

[data-aos='fade-down-right'] {
  -webkit-transform: translate(-100px, -100px);
  -ms-transform: translate(-100px, -100px);
  transform: translate(-100px, -100px); }

[data-aos='fade-down-left'] {
  -webkit-transform: translate(100px, -100px);
  -ms-transform: translate(100px, -100px);
  transform: translate(100px, -100px); }

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }

[data-aos='zoom-in'] {
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6); }

[data-aos='zoom-in-up'] {
  -webkit-transform: translate(0, 100px) scale(0.6);
  -ms-transform: translate(0, 100px) scale(0.6);
  transform: translate(0, 100px) scale(0.6); }

[data-aos='zoom-in-down'] {
  -webkit-transform: translate(0, -100px) scale(0.6);
  -ms-transform: translate(0, -100px) scale(0.6);
  transform: translate(0, -100px) scale(0.6); }

[data-aos='zoom-in-right'] {
  -webkit-transform: translate(-100px, 0) scale(0.6);
  -ms-transform: translate(-100px, 0) scale(0.6);
  transform: translate(-100px, 0) scale(0.6); }

[data-aos='zoom-in-left'] {
  -webkit-transform: translate(100px, 0) scale(0.6);
  -ms-transform: translate(100px, 0) scale(0.6);
  transform: translate(100px, 0) scale(0.6); }

[data-aos='zoom-out'] {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2); }

[data-aos='zoom-out-up'] {
  -webkit-transform: translate(0, 100px) scale(1.2);
  -ms-transform: translate(0, 100px) scale(1.2);
  transform: translate(0, 100px) scale(1.2); }

[data-aos='zoom-out-down'] {
  -webkit-transform: translate(0, -100px) scale(1.2);
  -ms-transform: translate(0, -100px) scale(1.2);
  transform: translate(0, -100px) scale(1.2); }

[data-aos='zoom-out-right'] {
  -webkit-transform: translate(-100px, 0) scale(1.2);
  -ms-transform: translate(-100px, 0) scale(1.2);
  transform: translate(-100px, 0) scale(1.2); }

[data-aos='zoom-out-left'] {
  -webkit-transform: translate(100px, 0) scale(1.2);
  -ms-transform: translate(100px, 0) scale(1.2);
  transform: translate(100px, 0) scale(1.2); }

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
  [data-aos^='slide'][data-aos^='slide'].aos-animate {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }

[data-aos='slide-up'] {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%); }

[data-aos='slide-down'] {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

[data-aos='slide-right'] {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

[data-aos='slide-left'] {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos='flip-left'] {
  -webkit-transform: perspective(2500px) rotateY(-100deg);
  transform: perspective(2500px) rotateY(-100deg); }
  [data-aos='flip-left'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0); }

[data-aos='flip-right'] {
  -webkit-transform: perspective(2500px) rotateY(100deg);
  transform: perspective(2500px) rotateY(100deg); }
  [data-aos='flip-right'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0); }

[data-aos='flip-up'] {
  -webkit-transform: perspective(2500px) rotateX(-100deg);
  transform: perspective(2500px) rotateX(-100deg); }
  [data-aos='flip-up'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0); }

[data-aos='flip-down'] {
  -webkit-transform: perspective(2500px) rotateX(100deg);
  transform: perspective(2500px) rotateX(100deg); }
  [data-aos='flip-down'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0); }

.c-int-stat h1 {
  font-size: 110px;
  line-height: 1.1;
  margin: 0; }

.c-int-stat p {
  font-size: 32px;
  line-height: 1.4;
  margin: 0; }

.c-int-stat small {
  font-size: 18px; }

@media screen and (max-width: 89.9375em) {
  .c-int-stat h1 {
    font-size: 100px; }
  .c-int-stat p {
    font-size: 26px; } }

@media screen and (max-width: 77.4375em) {
  .c-int-stat h1,
  .c-teaching-stat h1 {
    font-size: 72px; }
  .c-int-stat p {
    font-size: 22px; } }

@media screen and (max-width: 39.9375em) {
  .c-int-stat h1,
  .c-teaching-stat h1 {
    font-size: 60px;
    margin: 0; }
  .c-int-stat p {
    font-size: 20px;
    margin: 0 0 30px; }
  .c-int-stat p:last-child {
    margin: 0; }
  .c-int-stat small {
    font-size: 16px; } }

/***
Keyframes
***/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }
@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg); }
  100% {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg); }
  100% {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg); } }

@-webkit-keyframes bounce {
  0% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  15% {
    -webkit-transform: translate(0px, -25px);
    transform: translate(0px, -25px); }
  30% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  45% {
    -webkit-transform: translate(0px, -15px);
    transform: translate(0px, -15px); }
  60% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  75% {
    -webkit-transform: translate(0px, -5px);
    transform: translate(0px, -5px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@keyframes bounce {
  0% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  15% {
    -webkit-transform: translate(0px, -25px);
    transform: translate(0px, -25px); }
  30% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  45% {
    -webkit-transform: translate(0px, -15px);
    transform: translate(0px, -15px); }
  60% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  75% {
    -webkit-transform: translate(0px, -5px);
    transform: translate(0px, -5px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@-webkit-keyframes bigBounce {
  0% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  15% {
    -webkit-transform: translate(0px, -50px);
    transform: translate(0px, -50px); }
  30% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  45% {
    -webkit-transform: translate(0px, -40px);
    transform: translate(0px, -40px); }
  60% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  75% {
    -webkit-transform: translate(0px, -15px);
    transform: translate(0px, -15px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

@keyframes bigBounce {
  0% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  15% {
    -webkit-transform: translate(0px, -50px);
    transform: translate(0px, -50px); }
  30% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  45% {
    -webkit-transform: translate(0px, -40px);
    transform: translate(0px, -40px); }
  60% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); }
  75% {
    -webkit-transform: translate(0px, -15px);
    transform: translate(0px, -15px); }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px); } }

/***
Top 150 Statistic
***/
.c-top-150-stat {
  padding: 137px 0; }

.c-top-150__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.c-top-150-stat span[class*="-study-abroad"] {
  display: inline-block;
  font-size: 260px; }

.c-top-150-stat.animate span[class*="-study-abroad"] {
  -webkit-animation: rotate 1s linear;
  animation: rotate 1s linear; }

@media screen and (max-width: 89.9375em) {
  .c-top-150-stat {
    padding: 100px 0; }
  .c-top-150-stat span[class*="-study-abroad"] {
    font-size: 230px; } }

@media screen and (max-width: 39.9375em) {
  .c-top-150-stat {
    padding: 60px 0; }
  .c-top-150__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .c-top-150-stat span[class*="-study-abroad"] {
    font-size: 100px; } }

/***
Alumni Statistic
***/
.c-alumni-stat {
  padding: 150px 0;
  background-image: url("/webcomponents/dist/images/international-homepage/map.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden; }

.c-alumni-stat span[class*="-location"] {
  font-size: 60px; }

.c-alumni-stat .pin {
  font-size: 60px;
  display: inline-block;
  position: absolute;
  top: -60px; }

.c-alumni-stat.animate .pin {
  top: 50%;
  transition: top 0.6s linear;
  -webkit-animation: bounce 1s linear 0.6s;
  animation: bounce 1s linear 0.6s; }

.c-alumni-stat.animate .pin:nth-child(1n) {
  top: 20%;
  left: 29%;
  transition: top 0.6s linear 0.1s;
  -webkit-animation: bounce 1s linear 0.7s;
  animation: bounce 1s linear 0.7s; }

.c-alumni-stat.animate .pin:nth-child(2) {
  top: 31%;
  left: 31%;
  transition: top 0.6s linear 0.2s;
  -webkit-animation: bounce 1s linear 0.8s;
  animation: bounce 1s linear 0.8s; }

.c-alumni-stat.animate .pin:nth-child(3) {
  top: 49%;
  left: 27%;
  transition: top 0.6s linear 0.3s;
  -webkit-animation: bounce 1s linear 0.9s;
  animation: bounce 1s linear 0.9s; }

.c-alumni-stat.animate .pin:nth-child(4) {
  top: 90%;
  left: 38%;
  transition: top 0.6s linear 0.4s;
  -webkit-animation: bounce 1s linear 1s;
  animation: bounce 1s linear 1s; }

.c-alumni-stat.animate .pin:nth-child(5) {
  top: 20%;
  left: 66%;
  transition: top 0.6s linear 0.5s;
  -webkit-animation: bounce 1s linear 1.1s;
  animation: bounce 1s linear 1.1s; }

.c-alumni-stat.animate .pin:nth-child(6) {
  top: 27%;
  left: 65%;
  transition: top 0.6s linear 0.6s;
  -webkit-animation: bounce 1s linear 1.2s;
  animation: bounce 1s linear 1.2s; }

.c-alumni-stat.animate .pin:nth-child(7) {
  top: 66%;
  left: 64%;
  transition: top 0.6s linear 0.7s;
  -webkit-animation: bounce 1s linear 1.3s;
  animation: bounce 1s linear 1.3s; }

.c-alumni-stat.animate .pin:nth-child(8) {
  top: 88%;
  left: 75%;
  transition: top 0.6s linear 0.8s;
  -webkit-animation: bounce 1s linear 1.4s;
  animation: bounce 1s linear 1.4s; }

.c-alumni-stat.animate .pin:nth-child(9) {
  top: 30%;
  left: 72%;
  transition: top 0.6s linear 0.9s;
  -webkit-animation: bounce 1s linear 1.5s;
  animation: bounce 1s linear 1.5s; }

.c-alumni-stat.animate .pin:nth-child(10) {
  top: 26%;
  left: 77%;
  transition: top 0.6s linear 1s;
  -webkit-animation: bounce 1s linear 1.6s;
  animation: bounce 1s linear 1.6s; }

@media screen and (max-width: 89.9375em) {
  .c-alumni-stat.animate .center-pin {
    -webkit-animation: bounce 1s linear 1;
    animation: bounce 1s linear 1; } }

@media screen and (max-width: 39.9375em) {
  .c-alumni-stat {
    padding: 60px 0;
    background-image: url("/webcomponents/dist/images/international-homepage/map-mobile.svg"); }
  .c-alumni-stat span[class*="-location"] {
    font-size: 100px; } }

/***
Partners Statistic
***/
.c-partners__copy {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
  padding: 0 0 50px;
  width: 100%; }

.c-partners-stat {
  padding: 145px 0 95px;
  margin: 159px 0 0; }

.c-partners__group1,
.c-partners__group2,
.c-partners__group3,
.c-partners__group4 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: top 0.3s cubic-bezier(0.05, 0.69, 0.14, 1); }

.c-partners-stat.animate .c-partners__group1 {
  top: -127px;
  z-index: 1; }

.c-partners-stat.animate .c-partners__group2,
.c-partners-stat.animate .c-partners__group3 {
  top: -110px;
  transition-delay: 0.3s; }

.c-partners__group2 {
  left: -300px; }

.c-partners__group3 {
  right: -300px; }

.c-partners-stat.animate .c-partners__group4 {
  top: -150px;
  transition-delay: 0.6s; }

@media screen and (max-width: 77.4375em) {
  .c-partners-stat {
    padding: 150px 0 50px;
    margin: 100px 0 0; } }

@media screen and (max-width: 39.9375em) {
  .c-partners-stat {
    padding: 120px 0 10px;
    margin: 60px 0 0; }
  .c-partners__group1 {
    max-width: 150px; }
  .c-partners-stat.animate .c-partners__group1 {
    top: -97px; }
  .c-partners__group2,
  .c-partners__group3 {
    max-width: 92px; }
  .c-partners-stat.animate .c-partners__group2,
  .c-partners-stat.animate .c-partners__group3 {
    top: -83px; }
  .c-partners-stat.animate .c-partners__group2 {
    left: -219px; }
  .c-partners-stat.animate .c-partners__group3 {
    right: -219px; }
  .c-partners__group4 {
    max-width: 100px; }
  .c-partners-stat.animate .c-partners__group4 {
    top: -120px; } }

/***
Research Statistic
***/
.c-research-stat {
  padding: 132px 0; }

.c-fraction-header,
.c-fraction {
  display: block;
  font-family: "FSMaja", serif;
  font-weight: 300;
  line-height: .8; }

.c-fraction-header {
  font-size: 68px;
  text-transform: uppercase; }

.c-fraction {
  font-size: 190px; }

.c-research__microscope {
  margin: 0 0 0 70px; }

@media screen and (max-width: 89.9375em) {
  .c-research-stat {
    padding: 100px 0; }
  .c-research__microscope {
    max-width: 250px; }
  .c-fraction {
    font-size: 150px; }
  .c-fraction-header {
    font-size: 56px; } }

@media screen and (max-width: 77.4375em) {
  .c-research__microscope {
    max-width: 200px;
    margin: 0 0 0 30px; } }

@media screen and (max-width: 63.9375em) {
  .c-research-stat p {
    font-size: 20px; } }

@media screen and (max-width: 39.9375em) {
  .c-research-stat {
    padding: 40px 0; }
  .c-research-stat .cell {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .c-research-stat .cell .flex-container {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2; }
  .c-fraction-header,
  .c-fraction {
    display: inline-block;
    font-size: 40px;
    margin-bottom: 15px;
    text-transform: capitalize; }
  .c-research__microscope {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .c-research-stat img {
    margin: 0 0 30px 0;
    max-width: 108px; }
  .c-research-stat p {
    font-size: 20px; }
  .c-research-stat p:last-child {
    margin: 0; } }

/***
Overseas Statistic
***/
.c-overseas-stat {
  background-image: url("/webcomponents/dist/images/international-homepage/planes.svg");
  background-repeat: no-repeat;
  background-position: left center;
  padding: 124px 0;
  background-size: cover; }

.c-overseas-stat .cell {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end; }

.c-overseas-stat__wrapper {
  margin: 0 0 150px 0; }

.c-overseas-stat h1 {
  font-size: 190px; }

@media screen and (max-width: 89.9375em) {
  .c-overseas-stat {
    padding: 100px 0;
    background-position: 100% top; }
  .c-overseas-stat h1 {
    font-size: 150px; } }

@media screen and (max-width: 39.9375em) {
  .c-overseas-stat {
    background-image: url("/webcomponents/dist/images/international-homepage/planes-mobile.svg");
    background-position: center 25%;
    padding: 40px; }
  .c-overseas-stat__wrapper {
    margin: 150px 0 0; }
  .c-overseas-stat .cell {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
  .c-overseas-stat h1 {
    font-size: 80px; } }

/***
Teaching Statistic
***/
.c-teaching-stat {
  padding: 164px 0; }

.c-teaching-stat h1 {
  font-size: 85px; }

.c-teaching-stat img {
  margin: 0 0 40px 0; }

.c-teaching-stat.animate img:nth-child(1n) {
  -webkit-animation: bigBounce 1s linear;
  animation: bigBounce 1s linear; }

.c-teaching-stat.animate img:nth-child(2n) {
  -webkit-animation: bigBounce 1s linear 0.1s;
  animation: bigBounce 1s linear 0.1s; }

.c-teaching-stat.animate img:nth-child(3n) {
  -webkit-animation: bigBounce 1s linear 0.2s;
  animation: bigBounce 1s linear 0.2s; }

.c-teaching-stat.animate img:nth-child(4n) {
  -webkit-animation: bigBounce 1s linear 0.3s;
  animation: bigBounce 1s linear 0.3s; }

.c-teaching-stat.animate img:nth-child(5n) {
  -webkit-animation: bigBounce 1s linear 0.4s;
  animation: bigBounce 1s linear 0.4s; }

@media screen and (max-width: 89.9375em) {
  .c-teaching-stat {
    padding: 100px 0; } }

@media screen and (max-width: 77.4375em) {
  .c-teaching-stat h1 {
    font-size: 55px; } }

@media screen and (max-width: 39.9375em) {
  .c-teaching-stat {
    padding: 60px; }
  .c-teaching-stat h1 {
    font-size: 30px;
    margin: 0 0 30px 0; }
  .c-teaching-stat.c-int-stat p {
    margin: 0; }
  .c-teaching-stat img {
    max-width: 40px; } }

/***
 Lecturers Statistic
 ***/
.c-lecturers-stat {
  padding: 79px 0 0; }

.c-lecturers-stat img {
  position: absolute;
  bottom: 0;
  left: 15px; }

.c-lecturers-stat h1 {
  font-size: 190px; }

.c-lecturers-stat__wrap,
.c-lecturers-stat .c-int-stat__share {
  padding: 0 0 80px; }

@media screen and (max-width: 89.9375em) {
  .c-lecturers-stat h1 {
    font-size: 150px; } }

@media screen and (max-width: 77.4375em) {
  .c-lecturers-stat h1 {
    font-size: 100px; }
  .c-lecturers-stat img {
    max-width: 300px; } }

@media screen and (max-width: 63.9375em) {
  .c-lecturers-stat img {
    max-width: 250px; } }

@media screen and (max-width: 39.9375em) {
  .c-lecturers-stat {
    padding: 60px 0; }
  .c-lecturers-stat img {
    margin-bottom: 20px;
    position: relative;
    left: 0; }
  .c-lecturers-stat h1 {
    font-size: 80px; }
  .c-lecturers-stat__wrap,
  .c-lecturers-stat .c-int-stat__share {
    padding: 0; } }

/***
Campus Stat
***/
.c-campus {
  padding: 109px 0 0; }

.c-campus__stat {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }

.c-campus__stat-wrap {
  margin-bottom: 85px; }

.c-campus__podium {
  max-width: 489px;
  bottom: -1px;
  position: relative;
  margin: 12px 0 0; }

.c-campus.animate .c-campus__trophy {
  -webkit-animation: tada 1s ease-in-out 0.1s;
  animation: tada 1s ease-in-out 0.1s; }

@media screen and (max-width: 89.9375em) {
  .c-campus {
    padding: 100px 0 0; }
  .c-campus__trophy {
    max-width: 230px; }
  .c-campus__podium {
    max-width: 430px; } }

@media screen and (max-width: 63.9375em) {
  .c-campus__stat-wrap {
    margin-bottom: 145px; }
  .c-campus__trophy-wrap {
    position: absolute;
    right: 0;
    bottom: 0; }
  .c-campus__trophy {
    max-width: 150px; }
  .c-campus__podium {
    max-width: 300px; } }

@media screen and (max-width: 39.9375em) {
  .c-campus-stat {
    padding: 60px 0; }
  .c-campus__stat {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .c-campus__stat-wrap {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin: 20px 0 0; }
  .c-campus__trophy-wrap {
    position: relative;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1; }
  .c-campus__podium {
    max-width: 250px; } }

/***
Welcoming Statistic
***/
.c-welcoming-stat img {
  position: absolute;
  left: 0;
  top: -1px; }

.c-welcoming-stat__wrap {
  padding: 173px 0; }

@media screen and (max-width: 89.9375em) {
  .c-welcoming-stat__wrap {
    padding: 100px 0; }
  .c-welcoming-stat img {
    max-width: 300px; } }

@media screen and (max-width: 39.9375em) {
  .c-welcoming-stat img {
    position: relative;
    margin: 0 auto; }
  .c-welcoming-stat__wrap {
    padding: 0 0 60px; } }

/***
Nationalities Statistic
***/
.c-nationalities {
  padding: 193px 0; }

@media screen and (max-width: 89.9375em) {
  .c-nationalities {
    padding: 100px 0; } }

@media screen and (max-width: 39.9375em) {
  .c-nationalities {
    padding: 60px 0; }
  .c-nationalities img {
    max-width: 200px; } }

/***
Student Options Block
***/
.c-study-options-block {
  min-height: 740px; }

.c-study-options-block__image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  position: absolute;
  height: 100%;
  width: 50%;
  left: 0;
  top: 0; }

.c-study-options-block .c-promo-box {
  padding: 20px 30px; }

@media screen and (max-width: 63.9375em) {
  .c-study-options-block {
    min-height: initial; }
  .c-study-options-block__image {
    background-position: center 80%;
    min-height: 400px;
    position: relative;
    width: 100%; } }

@media screen and (max-width: 39.9375em) {
  .c-study-options-block__image {
    background-position: center center; } }

/***
Request a prospectus
***/
.c-request-prospectus {
  padding: 70px 0; }

.c-request-prospectus h1 {
  font-size: 74px;
  margin: 0; }

@media screen and (max-width: 39.9375em) {
  .c-student-satisfaction__image {
    margin-bottom: 40px; } }

.c-image-caption {
  color: #746E64;
  display: inline-block;
  font-size: 14px;
  margin: 10px 0; }

.c-news__single-article p {
  font-size: 16px; }

.c-news__single-article h2 {
  font-size: 26px;
  margin: 40px 0 18px 0; }

.c-news__single-article .c-testimonial,
.c-news__single-article .c-responsive-embed {
  margin: 40px 0; }

/***
Report recommended
***/
.c-news__report-recommended h3 {
  font-size: 24px;
  margin: 0 0 35px 0; }

.c-news__report-recommendation p {
  font-size: 14px;
  display: list-item;
  left: 16px;
  position: relative; }

.c-sports-header {
  background: #006938; }
  .c-sports-header a {
    color: #fefefe; }
  @media screen and (max-width: 63.9375em) {
    .c-sports-header .sports-header-nav__wrapper {
      display: none; }
    .c-sports-header .c-header-nav {
      margin-top: 3rem; }
    .c-sports-header .c-header-nav__item {
      width: 100%;
      text-align: left;
      margin-bottom: 1rem;
      font-weight: normal; } }

.c-sports-header__heading {
  margin-bottom: 0; }

.c-sports-masthead__wrapper {
  position: relative; }
  .c-sports-masthead__wrapper .c-masthead__callout-text {
    margin-bottom: 100px; }

.c-sports-masthead__buttons {
  position: absolute;
  width: 100%;
  bottom: 50px; }

@media screen and (max-width: 39.9375em) {
  .c-sports-masthead__wrapper {
    position: relative; }
    .c-sports-masthead__wrapper .c-masthead__callout-text {
      margin-bottom: 0px; }
  .c-sports-masthead__buttons {
    position: static;
    padding: 50px 20px 0px 20px; } }

@media screen and (min-width: 40em) {
  .c-sports-masthead__buttons a:first-child {
    margin-left: 30px; } }

@media screen and (max-width: 39.9375em) {
  .c-sports-promo-area .c-promo-area__content {
    padding: 20px; } }

.c-sports-intro {
  padding: 70px 0; }

@media screen and (max-width: 39.9375em) {
  .c-sports-intro {
    padding: 30px 0; } }

.c-sports-sub-sections {
  padding: 80px 0;
  background: #f6f5f4; }

@media screen and (max-width: 39.9375em) {
  .c-sports-sub-sections__item {
    margin-bottom: 2rem; } }

.c-sports-categories {
  padding: 80px 0; }

.c-sports-categories__item {
  border-top: 3px solid #76BD22;
  padding-bottom: 50px;
  padding-top: 20px; }

.c-sports-notes {
  padding: 24px 40px; }

.c-sports-notes__title {
  float: left;
  width: 200px; }

.c-sports-notes__body {
  margin-left: 200px; }

@media screen and (max-width: 39.9375em) {
  .c-sports-notes__title {
    float: none;
    width: 100%; }
  .c-sports-notes__body {
    margin-left: 0; } }

.sports-download-timetable__icon {
  font-size: 80px; }

.sports-download-timetable__link {
  font-size: 32px; }

@media screen and (max-width: 39.9375em) {
  .sports-download-timetable__icon {
    font-size: 60px;
    display: block;
    text-align: center;
    margin-bottom: 1rem; }
  .sports-download-timetable__link {
    font-size: 22px; } }

.cell.large-4.medium-4.small-12.stat-cell__jobs {
  padding: 40px; }

@media screen and (max-width: 39.9375em) {
  .c-three-quarter-split .c-half-n-half__copy {
    margin: 40px 0 0 0; } }

.c-course-info {
  font-size: 16px;
  margin: 50px 0; }

.c-course-info span {
  margin: 0 30px 0 0; }

.c-course-info span:last-child {
  margin: 0; }

.c-course-info__title {
  display: inline-block;
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 5px 0; }

.c-full-width-map__wrapper {
  position: relative; }

.c-full-width-map__legend {
  position: absolute;
  top: 40px;
  right: 40px;
  background: #fefefe;
  z-index: 100000000;
  padding: 30px;
  border: 1px solid #8a8a8a; }

.c-full-width-map__label {
  margin-bottom: 1rem; }
  .c-full-width-map__label img {
    margin-right: 10px; }
  .c-full-width-map__label:last-child {
    margin-bottom: 0; }

.c-partners-testimonials .c-testimonial__blockquote {
  font-size: 20px; }

.c-contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.c-contact__image {
  margin: 0 30px 0 0; }
  .c-contact__image img {
    width: 100%; }

.c-full-width-map {
  width: 100%;
  height: 600px; }

@media screen and (max-width: 63.9375em) {
  .c-contact__image {
    display: none; }
  .c-contact__details {
    margin-left: 0; }
  .c-full-width-map__legend {
    position: static; }
  .c-full-width-map {
    height: 200px; } }

.c-case-study-collaborating p {
  font-size: 16px; }

.c-case-study-overview p, .c-case-study-overview li,
.c-case-study-impact p,
.c-case-study-impact li {
  font-size: 16px; }

.c-case-study-overview h4,
.c-case-study-impact h4 {
  margin-bottom: 1rem; }

.c-staff-profile {
  padding: 40px 185px; }

.c-tag-list {
  padding: 0;
  margin: 0;
  list-style: none; }
  .c-tag-list li {
    display: inline-block;
    margin: 0 10px 10px 0; }
  .c-tag-list a {
    display: block;
    padding: 10px 15px;
    background-color: #373a36;
    color: #fefefe;
    font-size: 16px !important; }
    .c-tag-list a.c-tag-list__all-link {
      background-color: #006938; }

/***
Senior Officer Profile Styles
***/
.c-full-profile__detail-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative; }

.c-full-profile__detail-wrap > div {
  max-width: 70%; }

.c-full-profile__name {
  font-size: 72px;
  margin-bottom: 30px; }

.c-full-profile__detail-wrap .c-full-profile__title {
  margin: 0 0 5px 0; }

.c-full-profile__detail-wrap .c-full-profile__title:last-child {
  margin: 0; }

.c-full-profile--profile p:first-of-type {
  font-weight: 700; }

.c-full-profile__sub-heading {
  color: #3A3C39;
  margin: 40px 0 16px; }

.c-full-profile__pic {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 330px !important; }

.c-full-profile__elements section:nth-of-type(2n) {
  background-color: #f6f5f4; }

@media screen and (max-width: 77.4375em) {
  .c-full-profile__name {
    font-size: 42px; }
  .c-full-profile__detail-wrap > div {
    max-width: initial; }
  .c-full-profile__pic {
    position: relative;
    max-width: 250px;
    height: auto; } }

@media screen and (max-width: 63.9375em) {
  .c-full-profile--pic {
    max-width: 230px; } }

@media screen and (max-width: 39.9375em) {
  .c-full-profile__detail-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: unset;
    -webkit-justify-content: unset;
    -ms-flex-pack: unset;
    justify-content: unset;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .c-full-profile__profile {
    padding-top: 40px; } }

.c-maps-travel-mode-list__item {
  display: inline-block;
  margin-right: 30px; }

.c-map--full-width {
  height: 600px;
  width: 100%; }

/***
Research Hub Landing Forms
***/
.c-research-hub-form {
  margin: 0 0 30px; }

.c-research-hub-form:last-child {
  margin: 0; }

@media screen and (max-width: 39.9375em) {
  .c-research-hub-form {
    margin: 0 0 10px; } }

/***
Resaerch Hub Project Overview
***/
@media screen and (min-width: 64em) {
  .c-research-hub-tabs a {
    font-size: 20px; } }

.c-research-hub-tabs a {
  text-decoration: none; }

.c-research-hub-tabs--title {
  display: inline-block;
  margin: 30px 0 1rem; }

.c-research-hub-tabs p {
  margin-bottom: 5px; }

.c-research-project--date {
  margin-top: 1rem; }

.c-research-hub-tabs span[class^="uos-"] {
  font-size: 28px; }

.c-research-hub-tabs .c-project--seperator {
  margin-bottom: 15px; }

/*
Output Tab
**/
.c-research-outputs-overview {
  margin: 30px 0; }

.c-research-outputs-overview:last-of-type {
  margin: 30px 0 0; }

/*
Trending Tab
**/
.c-research-hub-tabs .c-tag-list {
  margin-top: 40px; }

.c-getting-around__tabs .tabs .tabs-title > a {
  margin-bottom: 0; }
  @media screen and (max-width: 63.9375em) {
    .c-getting-around__tabs .tabs .tabs-title > a {
      margin-right: 10px;
      font-size: 18px; } }

.c-getting-around__tabs .tabs .tabs-title:last-child > a {
  margin-bottom: 0; }

.c-getting-around__travel-mode {
  display: inline-block;
  margin-right: 30px !important; }
  .c-getting-around__travel-mode:last-child {
    margin-right: 0px !important; }

#getting-around__google-maps-link {
  display: none; }

.badge {
  border-radius: 0;
  margin-left: 10px;
  background: #ccc;
  font-size: 0.8rem;
  font-weight: bold; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInNldHRpbmdzL196aW5kZXguc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic2V0dGluZ3MvX2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJfa2l0Y2hlbnNpbmsuc2NzcyIsImtpdGNoZW5zaW5rL181dGlwcy5zY3NzIiwia2l0Y2hlbnNpbmsvX2FjY29yZGlvbi5zY3NzIiwia2l0Y2hlbnNpbmsvX2JsZWVkLWZlYXR1cmUtaW1hZ2Uuc2NzcyIsImtpdGNoZW5zaW5rL19icmVhZGNydW1icy5zY3NzIiwia2l0Y2hlbnNpbmsvX2J1dHRvbnMuc2NzcyIsImtpdGNoZW5zaW5rL19jYWxsb3V0LnNjc3MiLCJraXRjaGVuc2luay9fY29udGFjdC5zY3NzIiwia2l0Y2hlbnNpbmsvX2Zvcm1zLnNjc3MiLCJraXRjaGVuc2luay9fZ2FsbGVyaWVzLnNjc3MiLCJraXRjaGVuc2luay9faGFsZi1uLWhhbGYuc2NzcyIsImtpdGNoZW5zaW5rL19pbmZvZ3JhcGhpY3Muc2NzcyIsImtpdGNoZW5zaW5rL19tYXN0aGVhZHMuc2NzcyIsImtpdGNoZW5zaW5rL19pbWFnZS10ZXh0LWJsb2NrLnNjc3MiLCJraXRjaGVuc2luay9fbGluay5zY3NzIiwia2l0Y2hlbnNpbmsvX3BhZ2luYXRpb24uc2NzcyIsImtpdGNoZW5zaW5rL19wYXN0LXJlY29yZGluZ3Muc2NzcyIsImtpdGNoZW5zaW5rL19wcm9tby1ib3guc2NzcyIsImtpdGNoZW5zaW5rL19zbGljay5zY3NzIiwia2l0Y2hlbnNpbmsvX3RhYmxlcy5zY3NzIiwia2l0Y2hlbnNpbmsvX3RhYnMuc2NzcyIsImtpdGNoZW5zaW5rL190ZXN0aW1vbmlhbHMuc2NzcyIsImtpdGNoZW5zaW5rL193eXNpd3lnLnNjc3MiLCJraXRjaGVuc2luay9fY291cnNlLXNlYXJjaC13aWRnZXQuc2NzcyIsIl9sYXlvdXQuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19pbnRlcm5hbC1ob21lcGFnZS5zY3NzIiwibGF5b3V0L19oZWFkZXItc2VhcmNoLnNjc3MiLCJsYXlvdXQvX21vYmlsZS1tZW51LnNjc3MiLCJsYXlvdXQvX21lZ2FtZW51LnNjc3MiLCJfdHlwZS5zY3NzIiwidXRpbGl0aWVzL191dGlsaXRpZXMuc2NzcyIsImhvbWVwYWdlL192aWRlby1tYXN0aGVhZC5zY3NzIiwiaG9tZXBhZ2UvX3N0dWR5LXJvdXRlLnNjc3MiLCJob21lcGFnZS9fcHJvbW8tYXJlYS5zY3NzIiwiaG9tZXBhZ2UvX3N0YXRpc3RpY3MtYmFuZC5zY3NzIiwiaG9tZXBhZ2UvX2ludGVybmF0aW9uYWwtcHJvbW8uc2NzcyIsImhvbWVwYWdlL19uZXdzLWV2ZW50cy5zY3NzIiwiX2hvbWVwYWdlLnNjc3MiLCJfY291cnNlcy5zY3NzIiwiX2NvdW50cmllcy5zY3NzIiwiX2ZhY3VsdGllcy5zY3NzIiwiX3NjaG9sYXJzaGlwcy5zY3NzIiwiX3Rlc3RpbW9uaWFscy5zY3NzIiwiX2ludGVybmFsLnNjc3MiLCJpbnRlcm5hbC9fYnVyZ2VyLW1lbnVzLnNjc3MiLCJfYWNjb21tb2RhdGlvbi5zY3NzIiwiX3NlYXJjaC5zY3NzIiwiYW9zL19jb3JlLnNjc3MiLCJhb3MvX2Vhc2luZy5zY3NzIiwiYW9zL19hbmltYXRpb25zLnNjc3MiLCJfaW50ZXJuYXRpb25hbC1ob21lcGFnZS5zY3NzIiwiX3N0dWR5LnNjc3MiLCJfbmV3cy1hcnRpY2xlLnNjc3MiLCJfc3BvcnRzLnNjc3MiLCJfam9icy5zY3NzIiwiX2NwZC5zY3NzIiwiX3BhcnRuZXJzLnNjc3MiLCJfY2FzZS1zdHVkeS5zY3NzIiwiX3N0YWZmLXByb2ZpbGUuc2NzcyIsIl9tYXBzLnNjc3MiLCJfcmVzZWFyY2gtaHViLnNjc3MiLCJfZ2V0dGluZy1hcm91bmQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUN1TEM7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSx3QkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLHdCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBVkg7RUFDRSxxQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSwwQkFBcUIsRUFDdEI7O0FBR0M7RUFDRSwwQkEvTDRDLEVBZ003Qzs7QUFGRDtFQUNFLDBCQS9MNEMsRUFnTTdDOztBQUZEO0VBQ0UsMEJBL0w0QyxFQWdNN0M7O0FBTVA7RUFDSSxxQ0FBcUMsRUFDeEM7O0FBQ0Q7RUFDSSxxQ0FBaUQsRUFDcEQ7O0FBQ0Q7RUFDSSxxQ0FBaUQsRUFDcEQ7O0FBR0Q7RUFDSSxxQ0FBZ0QsRUFDbkQ7O0FBYUQ7OztFQUdJLDBCQUF1QixFQUMxQjs7QUFDRDtFQUNJLHFDQUFrQyxFQUNyQzs7QUFDRDs7O0VBR0ksc0JBL05XLEVBZ09kOztBQzdPRDs7Ozs7O0dBTUc7QUNvSkc7RUNuSEo7SUFDRSxZQUFXO0lBQ1gsV0FBVTtJQUNWLGVBQWMsRUFDZixFQUFBOztBQ2hESCxZQUFZO0FBRVo7RUFDSSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLHVCQUFzQjtFQUN0Qiw0QkFBMkI7RUFDM0IsMEJBQXlCO0VBRXpCLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLHdCQUF1QjtFQUN2QixvQkFBbUI7RUFDbkIseUNBQXdDLEVBQzNDOztBQUNEO0VBQ0ksbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsVUFBUztFQUNULFdBQVUsRUFVYjtFQWZEO0lBUVEsY0FBYSxFQUNoQjtFQVRMO0lBWVEsZ0JBQWU7SUFDZixhQUFZLEVBQ2Y7O0FBRUw7O0VBRUksd0NBQXVDO0VBRXZDLG9DQUFtQztFQUVuQyxnQ0FBK0IsRUFDbEM7O0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07RUFDTixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQWVyQjtFQXJCRDtJQVVRLFlBQVc7SUFDWCxlQUFjLEVBQ2pCO0VBWkw7SUFlUSxZQUFXLEVBQ2Q7RUFFRDtJQUNJLG1CQUFrQixFQUNyQjs7QUFFTDtFQUNJLFlBQVc7RUFDWCxhQUFZO0VBQ1osZ0JBQWU7RUFXZixjQUFhLEVBbUJoQjtFTjRXQztJTXhZTSxhQUFZLEVBQ2Y7RUFOTDtJQVFRLGVBQWMsRUFDakI7RUFUTDtJQVdRLGNBQWEsRUFDaEI7RUFaTDtJQWlCUSxxQkFBb0IsRUFDdkI7RUFFRDtJQUNJLGVBQWMsRUFDakI7RUFFRDtJQUNJLG1CQUFrQixFQUNyQjtFQUVEO0lBQ0ksZUFBYztJQUNkLGFBQVk7SUFDWiw4QkFBNkIsRUFDaEM7O0FBRUw7RUFDSSxjQUFhLEVBQ2hCOztBQzFERCxZQUFZO0FBR1I7RUFDSSxrRUFBMkUsRUFDOUU7O0FBR0wsV0FBVztBQUVQO0VBQ0kscUJBQW9CO0VBQ3BCLDhCQWhCb0M7RUFpQnBDLHNNQUFpTjtFQUNqTixvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQUE7O0FBSTFCLFlBQVk7QUFFWjs7RUFFSSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGFBQVk7RUFDWixZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxnQkFBZTtFQUNmLHdCQUF1QjtFQUN2QixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLHNDQUFxQztFQUNyQyxrQ0FBaUM7RUFDakMsOEJBQTZCO0VBQzdCLFdBQVU7RUFDVixhQUFZO0VBQ1osY0FBYSxFQXFCaEI7RUF0Q0Q7OztJQW1CUSxjQUFhO0lBQ2Isd0JBQXVCO0lBQ3ZCLG1CQUFrQixFQUlyQjtJQXpCTDs7O01BdUJZLFdBakVjLEVBa0VqQjtFQXhCVDs7SUEyQlEsY0FwRXVCLEVBcUUxQjtFQTVCTDs7SUE4QlEscUJBbEZtQjtJQW1GbkIsZ0JBQWU7SUFDZixlQUFjO0lBQ2QsYUFuRmlCO0lBb0ZqQixjQTdFb0I7SUE4RXBCLG9DQUFtQztJQUNuQyxtQ0FBa0MsRUFDckM7O0FBR0w7RUFDSSxZQUFXLEVBV2Q7RVBzYUM7SU8vYU0sV0FBVTtJQUNWLGFBQVksRUFDZjtFQUxMO0lBT1EsYUE5RmUsRUFBTztJUDhnQjFCO01POWFRLGFBL0ZXLEVBQU87O0FBb0c5QjtFQUNJLGFBQVksRUFXZjtFUGthQztJTzNhTSxZQUFXO0lBQ1gsWUFBVyxFQUNkO0VBTEw7SUFPUSxhQTNHZSxFQUFPO0lQdWhCMUI7TU8xYVEsYUE5R1csRUFBTzs7QUFtSDlCLFVBQVU7QUFFVjtFQUNJLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixjQUFhO0VBQ2IsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFVBQVM7RUFDVCxZQUFXLEVBaURkO0VBekREO0lBVVEsbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixhQUFZO0lBQ1osWUFBVztJQUNYLGNBQWE7SUFDYixXQUFVO0lBQ1YsZ0JBQWUsRUF3Q2xCO0lBeERMO01Ba0JZLFVBQVM7TUFDVCx3QkFBdUI7TUFDdkIsZUFBYztNQUNkLGFBQVk7TUFDWixZQUFXO01BQ1gsY0FBYTtNQUNiLGlCQUFnQjtNQUNoQixlQUFjO01BQ2QsbUJBQWtCO01BQ2xCLGFBQVk7TUFDWixnQkFBZSxFQXVCbEI7TUFuRFQ7UUE4QmdCLGNBQWEsRUFJaEI7UUFsQ2I7VUFnQ29CLFdBcEpNLEVBcUpUO01BakNqQjtRQW9DZ0IsbUJBQWtCO1FBQ2xCLE9BQU07UUFDTixRQUFPO1FBQ1AsYUE5Sk07UUErSk4sWUFBVztRQUNYLGFBQVk7UUFDWixxQkF4S1c7UUF5S1gsZUFqS0k7UUFrS0osa0JBQWlCO1FBQ2pCLG1CQUFrQjtRQUNsQixhQXpLTztRQTBLUCxjQWxLZTtRQW1LZixvQ0FBbUM7UUFDbkMsbUNBQWtDLEVBQ3JDO0lBbERiO01BcURZLGFBaExXO01BaUxYLGNBM0tnQixFQTRLbkI7O0FDbEpQLGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7O09BS0c7QUFFSDtFQUNFLHdCQzFDdUI7RUQwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRyxPQUFPO0VBRTdCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTyxFQUN6Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7RUU5RUYsZUFYdUM7RUZvR2pDLGlCQUFnQixFQUVuQjs7QUFvQ0Q7b0ZBQ2dGO0FBdUNoRjs7T0FFRztBQUVIOztFQUVFLGVBQWMsRUFDZjs7QUFFRDs7T0FFRztBQUVIO0VBS0ksaUJDdkxZLEVEeUxmOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUcsT0FBTztFQUNqQyxVQUFTO0VBQUcsT0FBTztFQUNuQixrQkFBaUI7RUFBRyxPQUFPLEVBQzVCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBYUQ7OztPQUdHO0FBRUg7RUFDRSxrQ0FBaUM7RUFBRyxPQUFPO0VBQzNDLGVBQWM7RUFBRyxPQUFPLEVBQ3pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLDhCQUE2QjtFQUFHLE9BQU87RUFDdkMsc0NBQXFDO0VBQUcsT0FBTyxFQUNoRDs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxpQkFBZ0IsRUFDakI7O0FBSUQ7b0ZBQ2dGO0FBRWhGOzs7T0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUcsT0FBTztFQUM3QiwyQkFBMEI7RUFBRyxPQUFPO0VBQ3BDLDBDQUFpQztFQUFqQyxrQ0FBaUM7RUFBRyxPQUFPLEVBQzVDOztBQUVEOztPQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztPQUVHO0FBRUg7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEOzs7T0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7RUFBRyxPQUFPO0VBQzNDLGVBQWM7RUFBRyxPQUFPLEVBQ3pCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLHVCQUFzQjtFQUN0QixZQUFXLEVBQ1o7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDs7RUFFRSxzQkFBcUIsRUFDdEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGNBQWE7RUFDYixVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDs7Ozs7RUFLRSx3QkN6WnVCO0VEeVpTLE9BQU87RUFDdkMsZ0JBQWU7RUFBRyxPQUFPO0VBS3ZCLGtCQUFpQjtFQUFHLE9BQU87RUFFN0IsVUFBUztFQUFHLE9BQU8sRUFDcEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O09BR0c7QUFFSDs7RUFDUyxPQUFPO0VBQ2QscUJBQW9CLEVBQ3JCOztBQUVEOzs7O09BSUc7QUFFSDs7OztFQUlFLDJCQUEwQjtFQUFHLE9BQU8sRUFDckM7O0FBRUQ7Ozs7RUFLRTs7U0FFRztFQU9IOztTQUVHLEVBS0o7RUFyQkQ7Ozs7SUFVSSxtQkFBa0I7SUFDbEIsV0FBVSxFQUNYO0VBWkg7Ozs7SUFtQkksK0JBQThCLEVBQy9COztBQUdIOztPQUVHO0FBRUg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7OztPQUdHO0FSZ1pQOztFUTVZTSx1QkFBc0I7RUFBRyxPQUFPO0VBQ2hDLFdBQVU7RUFBRyxPQUFPLEVBQ3JCOztBQUVEOztPQUVHO0FSZ1pQOztFUTVZTSxhQUFZLEVBQ2I7O0FBRUQ7OztPQUdHO0FSOFlQO0VRM1lNLDhCQUE2QjtFQUFHLE9BQU87RUFDdkMscUJBQW9CO0VBQUcsT0FBTztFQUU5Qjs7U0FFRyxFQU1KO0VSd1lIO0lRMVlNLHlCQUF3QixFQUN6Qjs7QUFHSDs7O09BR0c7QUFFSDtFQUNFLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsY0FBYTtFQUFHLE9BQU8sRUFDeEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLDBCQUF5QjtFQUN6QixjQUFhO0VBQ2IsK0JBQThCLEVBQy9COztBQUVEOzs7OztPQUtHO0FBRUg7RUFDRSx1QkFBc0I7RUFBRyxPQUFPO0VBQ2hDLGVBQWM7RUFBRyxPQUFPO0VBQ3hCLGdCQUFlO0VBQUcsT0FBTztFQUN6QixXQUFVO0VBQUcsT0FBTztFQUNwQixlQUFjO0VBQUcsT0FBTztFQUN4QixvQkFBbUI7RUFBRyxPQUFPLEVBQzlCOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usc0JBQXFCO0VBQUcsT0FBTztFQUMvQix5QkFBd0I7RUFBRyxPQUFPLEVBQ25DOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQXFCZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLHNCQUFxQixFQUN0Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsY0FBYSxFQUNkOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBUm1XUDtFUWhXTSxjQUFhLEVBQ2Q7O0FHM2hCSDtFQUNFLDJFQUFnRCxFQUNqRDs7QUFFRDtFQUNFLHVCQUFzQjtFQUN0QixnQkN6RW1CLEVEMEVwQjs7QUFHRDs7O0VBR0Usb0JBQW1CLEVBQ3BCOztBQUdEO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFFVixvQkM5Q1c7RURnRFgscUNDN0NzQztFRDhDdEMsb0JDekN5QjtFRDBDekIsaUJDMUZtQjtFRDJGbkIsZUNwRFc7RUR1RFQsb0NBQW1DO0VBQ25DLG1DQUFrQyxFQUVyQzs7QUFFRDtFQUVFLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFHdEIsZ0JBQWU7RUFDZixhQUFZO0VBQ1osZ0NBQStCLEVBQ2hDOztBQUdEO0VBQ0UsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixpQkNoRWEsRURpRWQ7O0FBR0Q7RUFDRSx1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGlCQ3ZFYSxFRHdFZDs7QUFJRDs7Ozs7O0VBS0ksMkJBQTBCLEVBQzNCOztBQUlIO0VBR0UsV0FBVTtFQUVWLHlCQUFnQjtFQUFoQixzQkFBZ0I7RUFBaEIsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxpQkM3RmE7RUQ4RmIsd0JBQXVCO0VBRXZCLGVBQWMsRUFDZjtFWGsyQkQ7SWE3MkJFLFdBQVUsRUFDWDs7QUZhRDtFQUNFLGVBQWMsRUFDZjs7QUFHRDs7Ozs7RUFLRSxxQkFBb0IsRUFDckI7O0FBR0Q7RUFDRSwwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSx5QkFBd0IsRUFDekI7O0FHbk9EO0VDRUEsbUJDMEV1RDtFRHpFdkQsZUFBYyxFRERiOztBQUVEO0VDWUksdUJDNERtRDtFRDNEbkQsd0JDMkRtRCxFRnRFdEQ7RVY2SUc7SVUvSUo7TUNZSSx3QkM0RG1EO01EM0RuRCx5QkMyRG1ELEVGdEV0RCxFQUFBO0VWa0pHO0lVcEpKO01DcUJFLGdCQUFlO01BQ2YsaUJBQWdCLEVEcEJqQixFQUFBOztBQUdEO0VDZ0NBLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQkFIcUI7RUFHckIsOEJBSHFCO0VBR3JCLDRCQUhxQjtFQUdyQix3QkFIcUI7RUFHckIsb0JBSHFCLEVENUJwQjs7QUFFRDtFR3lCRSxvQkFBYztFQUFkLHVCQUFjO0VBQWQsbUJBQWM7RUFBZCxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixlQUFjO0VBa0NkLFlBRG9ELEVIaERyRDtFQVpEO0lHOEJFLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWEsRUh4Qlo7RUFOSDtJR2lDRSxvQkFBYztJQUFkLHVCQUFjO0lBQWQsbUJBQWM7SUFBZCxlQUFjLEVIdkJiOztBQUdIO0VHd0NFLFlBQW1CLEVIckNsQjs7QUFISDtFRzRDRSxZQUFtQixFSHJDbEI7O0FBU0Q7RUFNSSx5QkFBZ0I7RUFBaEIsOEJBQWdCO0VBQWhCLGlCQUFnQixFQUNqQjs7QVZrR0Q7RVV6R0Y7SUFNSSx5QkFBZ0I7SUFBaEIsOEJBQWdCO0lBQWhCLGlCQUFnQixFQUNqQixFQUFBOztBVmtHRDtFVXpHRjtJQU1JLHlCQUFnQjtJQUFoQiw4QkFBZ0I7SUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7O0FWdUdEO0VVOUdGO0lBTUkseUJBQWdCO0lBQWhCLDhCQUFnQjtJQUFoQixpQkFBZ0IsRUFDakIsRUFBQTs7QVZ1R0Q7RVU5R0Y7SUFNSSx5QkFBZ0I7SUFBaEIsOEJBQWdCO0lBQWhCLGlCQUFnQixFQUNqQixFQUFBOztBQW1CRDtFR01GLGdCQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLFdBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsaUJBRG9ELEVISGpEOztBQUZEO0VHTUYsV0FEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixpQkFEb0QsRUhIakQ7O0FBRkQ7RUdNRixXQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLGlCQURvRCxFSEhqRDs7QUFGRDtFR01GLFlBRG9ELEVISGpEOztBVjZFRDtFVTVGQTtJR1pGLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhSaEI7RUFFRDtJR2RGLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUhQaEI7RUFLRDtJR01GLGdCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixZQURvRCxFSEhqRCxFQUFBOztBVjZFRDtFVTVGQTtJR1pGLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhSaEI7RUFFRDtJR2RGLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUhQaEI7RUFLRDtJR01GLGdCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixZQURvRCxFSEhqRCxFQUFBOztBVmtGRDtFVWpHQTtJR1pGLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhSaEI7RUFFRDtJR2RGLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUhQaEI7RUFLRDtJR01GLGdCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixZQURvRCxFSEhqRCxFQUFBOztBVmtGRDtFVWpHQTtJR1pGLG9CQUFhO0lBQWIsc0JBQWE7SUFBYixrQkFBYTtJQUFiLGNBQWE7SUF1QmIsWUFBbUIsRUhSaEI7RUFFRDtJR2RGLG9CQUFjO0lBQWQsdUJBQWM7SUFBZCxtQkFBYztJQUFkLGVBQWM7SUF3QmQsWUFBbUIsRUhQaEI7RUFLRDtJR01GLGdCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixXQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLFdBRG9ELEVISGpEO0VBRkQ7SUdNRixpQkFEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsV0FEb0QsRUhIakQ7RUFGRDtJR01GLGlCQURvRCxFSEhqRDtFQUZEO0lHTUYsaUJBRG9ELEVISGpEO0VBRkQ7SUdNRixZQURvRCxFSEhqRCxFQUFBOztBQUtMO0VBQ0UsWUFBVyxFQUNaOztBQUdEO0VBQ0UsYUFBWSxFQUNiOztBQTZCRDtFSTNGTSx1QkFBNEI7RUFBNUIsd0JBQTRCLEVKMEhqQztFVktHO0lVcENKO01JM0ZNLHdCQUE0QjtNQUE1Qix5QkFBNEIsRUowSGpDLEVBQUE7RUEvQkQ7SUdoREUsNEJBRDRFO0lDakMxRSxzQkFBNEI7SUFBNUIsdUJBQTRCLEVKd0Y3QjtFVjhCQztJVXBDSjtNR2hERSw2QkFENEU7TUNqQzFFLHVCQUE0QjtNQUE1Qix3QkFBNEIsRUorRnpCLEVBQUE7RUFyQ0w7SUdyQkEsWUFBbUIsRUh1QnBCO0VBRUM7SUdyQkEsWUFBbUIsRUh1QnBCO0VBTUc7SUd6QkYsZ0NBRGdILEVINEIvRztFQUZDO0lHekJGLGlDQURnSCxFSDRCL0c7RUFGQztJR3pCRiwyQkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsaUNBRGdILEVINEIvRztFQUZDO0lHekJGLGlDQURnSCxFSDRCL0c7RUFGQztJR3pCRiwyQkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsaUNBRGdILEVINEIvRztFQUZDO0lHekJGLGlDQURnSCxFSDRCL0c7RUFGQztJR3pCRiwyQkFEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsaUNBRGdILEVINEIvRztFQUZDO0lHekJGLGlDQURnSCxFSDRCL0c7RUFGQztJR3pCRiw0QkFEZ0gsRUg0Qi9HO0VWOENDO0lVNURGO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRztJQWREO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBO0VWOENDO0lVNURGO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBO0VWbURDO0lVakVGO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBO0VWbURDO0lVakVGO01HckJBLFlBQW1CLEVIdUJwQjtJQUVDO01HckJBLFlBQW1CLEVIdUJwQjtJQU1HO01HekJGLGlDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNEJBRGdILEVINEIvRztJQUZDO01HekJGLGtDQURnSCxFSDRCL0c7SUFGQztNR3pCRixrQ0FEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsNkJBRGdILEVINEIvRyxFQUFBOztBQThDSDtFSS9ITSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVKb0kvQjtFVkxDO0lVQUo7TUkvSE0seUJBQTRCO01BQTVCLHdCQUE0QixFSm9JL0IsRUFBQTs7QUFMSDtFSS9ITSx3QkFBNEI7RUFBNUIsdUJBQTRCLEVKeUkvQjtFVlZDO0lVQUo7TUkvSE0seUJBQTRCO01BQTVCLHdCQUE0QixFSnlJL0IsRUFBQTs7QUs1SUM7RUZ5REYsWUFEb0QsRUV0RHJEOztBQUZHO0VGeURGLFdBRG9ELEVFdERyRDs7QUFGRztFRnlERixpQkFEb0QsRUV0RHJEOztBQUZHO0VGeURGLFdBRG9ELEVFdERyRDs7QUFGRztFRnlERixXQURvRCxFRXREckQ7O0FBRkc7RUZ5REYsaUJBRG9ELEVFdERyRDs7QUFGRztFRnlERixpQkFEb0QsRUV0RHJEOztBQUZHO0VGeURGLGFBRG9ELEVFdERyRDs7QWZnSUc7RWVsSUE7SUZ5REYsWUFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsYUFEb0QsRUV0RHJELEVBQUE7O0FmZ0lHO0VlbElBO0lGeURGLFlBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGFBRG9ELEVFdERyRCxFQUFBOztBZnFJRztFZXZJQTtJRnlERixZQURvRCxFRXREckQ7RUFGRztJRnlERixXQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixhQURvRCxFRXREckQsRUFBQTs7QWZxSUc7RWV2SUE7SUZ5REYsWUFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsV0FEb0QsRUV0RHJEO0VBRkc7SUZ5REYsaUJBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLFdBRG9ELEVFdERyRDtFQUZHO0lGeURGLGlCQURvRCxFRXREckQ7RUFGRztJRnlERixpQkFEb0QsRUV0RHJEO0VBRkc7SUZ5REYsYUFEb0QsRUV0RHJELEVBQUE7O0FBRkc7RUZ5REYsNEJBRGdILEVFdERqSDs7QUFGRztFRnlERiwyQkFEZ0gsRUV0RGpIOztBQUZHO0VGeURGLGlDQURnSCxFRXREakg7O0FBRkc7RUZ5REYsMkJBRGdILEVFdERqSDs7QUFGRztFRnlERiwyQkFEZ0gsRUV0RGpIOztBQUZHO0VGeURGLGlDQURnSCxFRXREakg7O0FBRkc7RUZ5REYsaUNBRGdILEVFdERqSDs7QUFGRztFRnlERiw2QkFEZ0gsRUV0RGpIOztBZmdJRztFZWxJQTtJRnlERiw2QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsNEJBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsNEJBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERixrQ0FEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsOEJBRGdILEVFdERqSDtFQUZHO0lGeURGLDZCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLDRCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERiw4QkFEZ0gsRUV0RGpILEVBQUE7O0FmZ0lHO0VlbElBO0lGeURGLDZCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLDRCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERiw4QkFEZ0gsRUV0RGpILEVBQUE7O0FmcUlHO0VldklBO0lGeURGLDZCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLDRCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERiw4QkFEZ0gsRUV0RGpILEVBQUE7O0FmcUlHO0VldklBO0lGeURGLDZCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLDRCQURnSCxFRXREakg7RUFGRztJRnlERiw0QkFEZ0gsRUV0RGpIO0VBRkc7SUZ5REYsa0NBRGdILEVFdERqSDtFQUZHO0lGeURGLGtDQURnSCxFRXREakg7RUFGRztJRnlERiw4QkFEZ0gsRUV0RGpILEVBQUE7O0FMc0xHO0VNL0xBLGdCQUEwQjtFQUExQixlQUEwQixFTmlNekI7RU05TEM7SUFFRSxnQkFBMEI7SUFBMUIsZUFBMEIsRUFFN0I7RUFNRztJSG1ETixnQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFlBRG9ELEVHaEQvQztFQUZDO0lIbUROLGdCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sWUFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sZ0JBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixZQURvRCxFR2hEL0M7RUFGQztJSG1ETixnQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFlBRG9ELEVHaEQvQztFQUZDO0lIbUROLGdCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sV0FEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixXQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4saUJBRG9ELEVHaEQvQztFQUZDO0lIbUROLFdBRG9ELEVHaEQvQztFQUZDO0lIbUROLGlCQURvRCxFR2hEL0M7RUFGQztJSG1ETixpQkFEb0QsRUdoRC9DO0VBRkM7SUhtRE4sWUFEb0QsRUdoRC9DOztBTnNMSDtFTS9LQSxnQkFBMEI7RUFBMUIsZUFBMEIsRU5pTHpCO0VNOUtEO0lBRUUsaUJBQTRCO0lBQTVCLGdCQUE0QixFQUUvQjs7QWhCNEdDO0VVc0RBO0lNL0xBLGdCQUEwQjtJQUExQixlQUEwQixFTmlNekI7SU05TEM7TUFFRSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0I7SUFNRztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0VOc0xIO0lNL0tBLGdCQUEwQjtJQUExQixlQUEwQixFTmlMekI7SU05S0Q7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FoQjRHQztFVXNEQTtJTS9MQSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5pTXpCO0lNOUxDO01BRUUsZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCO0lBTUc7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztFTnNMSDtJTS9LQSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5pTHpCO0lNOUtEO01BRUUsaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBaEJpSEM7RVVpREE7SU0vTEEsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOaU16QjtJTTlMQztNQUVFLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QjtJQU1HO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7RU5zTEg7SU0vS0EsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOaUx6QjtJTTlLRDtNQUVFLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QWhCaUhDO0VVaURBO0lNL0xBLGdCQUEwQjtJQUExQixlQUEwQixFTmlNekI7SU05TEM7TUFFRSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0I7SUFNRztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sZ0JBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixZQURvRCxFR2hEL0M7SUFGQztNSG1ETixnQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFlBRG9ELEVHaEQvQztJQUZDO01IbUROLGdCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sV0FEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixXQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4saUJBRG9ELEVHaEQvQztJQUZDO01IbUROLFdBRG9ELEVHaEQvQztJQUZDO01IbUROLGlCQURvRCxFR2hEL0M7SUFGQztNSG1ETixpQkFEb0QsRUdoRC9DO0lBRkM7TUhtRE4sWUFEb0QsRUdoRC9DO0VOc0xIO0lNL0tBLGdCQUEwQjtJQUExQixlQUEwQixFTmlMekI7SU05S0Q7TUFFRSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FOc0xDO0VPaE5GLGdCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsaUNBQTZCLEVQc04xQjs7QUFORDtFT2hORixzQkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHVDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix3Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsa0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix3Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsa0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix3Q0FBNkIsRVBzTjFCOztBQU5EO0VPaE5GLGlCQUE2QixFUGtOMUI7O0FBRUQ7RU9wTkYsa0NBQTZCLEVQc04xQjs7QUFORDtFT2hORix1QkFBNkIsRVBrTjFCOztBQUVEO0VPcE5GLHdDQUE2QixFUHNOMUI7O0FBTkQ7RU9oTkYsdUJBQTZCLEVQa04xQjs7QUFFRDtFT3BORix3Q0FBNkIsRVBzTjFCOztBVmhGRDtFVTBFQTtJT2hORixnQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsa0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHNCQUE2QixFUGtOMUI7RUFFRDtJT3BORix3Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUIsRUFBQTs7QVZoRkQ7RVUwRUE7SU9oTkYsZ0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLGtDQUE2QixFUHNOMUI7RUFORDtJT2hORixzQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsd0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsaUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLG1DQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCLEVBQUE7O0FWM0VEO0VVcUVBO0lPaE5GLGdCQUE2QixFUGtOMUI7RUFFRDtJT3BORixrQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsc0JBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHdDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLGlCQUE2QixFUGtOMUI7RUFFRDtJT3BORixtQ0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORix1QkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYseUNBQTZCLEVQc04xQixFQUFBOztBVjNFRDtFVXFFQTtJT2hORixnQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsa0NBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHNCQUE2QixFUGtOMUI7RUFFRDtJT3BORix3Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUI7RUFORDtJT2hORixpQkFBNkIsRVBrTjFCO0VBRUQ7SU9wTkYsbUNBQTZCLEVQc04xQjtFQU5EO0lPaE5GLHVCQUE2QixFUGtOMUI7RUFFRDtJT3BORix5Q0FBNkIsRVBzTjFCO0VBTkQ7SU9oTkYsdUJBQTZCLEVQa04xQjtFQUVEO0lPcE5GLHlDQUE2QixFUHNOMUIsRUFBQTs7QUFnQkw7RUMxTUEscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDZCQUg2QjtFQUc3Qiw4QkFINkI7RUFHN0IsaUNBSDZCO0VBRzdCLDZCQUg2QjtFQUc3Qix5QkFINkIsRURnUTVCO0VBcEREO0lHNUxBLFlBQW1CLEVIa01oQjtFQU5IO0lHakxFLGFBQW1CLEVIMkxsQjtFQVZIO0lHN0tFLGFBQW1CLEVIMkxsQjtFQWRIO0lBMkJNLHlCQUFnQjtJQUFoQiw4QkFBZ0I7SUFBaEIsaUJBQWdCLEVBQ2pCO0VWNUhEO0lVZ0dKO01BMkJNLHlCQUFnQjtNQUFoQiw4QkFBZ0I7TUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7RVY1SEQ7SVVnR0o7TUEyQk0seUJBQWdCO01BQWhCLDhCQUFnQjtNQUFoQixpQkFBZ0IsRUFDakIsRUFBQTtFVnZIRDtJVTJGSjtNQTJCTSx5QkFBZ0I7TUFBaEIsOEJBQWdCO01BQWhCLGlCQUFnQixFQUNqQixFQUFBO0VWdkhEO0lVMkZKO01BMkJNLHlCQUFnQjtNQUFoQiw4QkFBZ0I7TUFBaEIsaUJBQWdCLEVBQ2pCLEVBQUE7RUE1Qkw7SUd6S0UsaUJBRG9ELEVIME4vQztFQWhEUDtJR3pLRSxrQkFEb0QsRUgwTi9DO0VBaERQO0lHektFLFlBRG9ELEVIME4vQztFQWhEUDtJR3pLRSxrQkFEb0QsRUgwTi9DO0VBaERQO0lHektFLGtCQURvRCxFSDBOL0M7RUFoRFA7SUd6S0UsWUFEb0QsRUgwTi9DO0VBaERQO0lHektFLGtCQURvRCxFSDBOL0M7RUFoRFA7SUd6S0Usa0JBRG9ELEVIME4vQztFQWhEUDtJR3pLRSxZQURvRCxFSDBOL0M7RUFoRFA7SUd6S0Usa0JBRG9ELEVIME4vQztFQWhEUDtJR3pLRSxrQkFEb0QsRUgwTi9DO0VBaERQO0lHektFLGFBRG9ELEVIME4vQztFVmhKSDtJVWdHSjtNR3hNRSxvQkFBYTtNQUFiLHNCQUFhO01BQWIsa0JBQWE7TUFBYixjQUFhO01BdUJiLGFBQW1CLEVIcU5kO0lBcENQO01HN0tFLGFBQW1CLEVIcU5kO0lBeENQO01HektFLGlCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxZQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLFlBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0UsWUFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxhQURvRCxFSDBOL0MsRUFBQTtFVmhKSDtJVWdHSjtNR3hNRSxvQkFBYTtNQUFiLHNCQUFhO01BQWIsa0JBQWE7TUFBYixjQUFhO01BdUJiLGFBQW1CLEVIcU5kO0lBcENQO01HN0tFLGFBQW1CLEVIcU5kO0lBeENQO01HektFLGlCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxZQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLFlBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0UsWUFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxhQURvRCxFSDBOL0MsRUFBQTtFVjNJSDtJVTJGSjtNR3hNRSxvQkFBYTtNQUFiLHNCQUFhO01BQWIsa0JBQWE7TUFBYixjQUFhO01BdUJiLGFBQW1CLEVIcU5kO0lBcENQO01HN0tFLGFBQW1CLEVIcU5kO0lBeENQO01HektFLGlCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxZQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLFlBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0UsWUFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxhQURvRCxFSDBOL0MsRUFBQTtFVjNJSDtJVTJGSjtNR3hNRSxvQkFBYTtNQUFiLHNCQUFhO01BQWIsa0JBQWE7TUFBYixjQUFhO01BdUJiLGFBQW1CLEVIcU5kO0lBcENQO01HN0tFLGFBQW1CLEVIcU5kO0lBeENQO01HektFLGlCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxZQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLFlBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxrQkFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0UsWUFEb0QsRUgwTi9DO0lBaERQO01HektFLGtCQURvRCxFSDBOL0M7SUFoRFA7TUd6S0Usa0JBRG9ELEVIME4vQztJQWhEUDtNR3pLRSxhQURvRCxFSDBOL0MsRUFBQTs7QUFPTDtFSXRSSSxzQkFBNEI7RUFBNUIseUJBQTRCLEVKMFI3QjtFVjNKRDtJVXVKRjtNSXRSSSx1QkFBNEI7TUFBNUIsMEJBQTRCLEVKMFI3QixFQUFBOztBQUpIO0VJdFJJLHNCQUE0QjtFQUE1Qix5QkFBNEIsRUorUjdCO0VWaEtEO0lVdUpGO01JdFJJLHVCQUE0QjtNQUE1QiwwQkFBNEIsRUorUjdCLEVBQUE7O0FBcE1MO0VJM0ZNLHNCQUE0QjtFQUE1Qix5QkFBNEIsRUowSGpDO0VWS0c7SVVwQ0o7TUkzRk0sdUJBQTRCO01BQTVCLDBCQUE0QixFSjBIakMsRUFBQTtFQS9CRDtJR2hERSw2QkFENEU7SUNqQzFFLHFCQUE0QjtJQUE1Qix3QkFBNEIsRUp3RjdCO0VWOEJDO0lVcENKO01HaERFLDhCQUQ0RTtNQ2pDMUUsc0JBQTRCO01BQTVCLHlCQUE0QixFSitGekIsRUFBQTtFQXJDTDtJR3JCQSxhQUFtQixFSHVCcEI7RUFFQztJR3JCQSxhQUFtQixFSHVCcEI7RUFNRztJR3pCRixpQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsa0NBRGdILEVINEIvRztFQUZDO0lHekJGLDRCQURnSCxFSDRCL0c7RUFGQztJR3pCRixrQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsa0NBRGdILEVINEIvRztFQUZDO0lHekJGLDRCQURnSCxFSDRCL0c7RUFGQztJR3pCRixrQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsa0NBRGdILEVINEIvRztFQUZDO0lHekJGLDRCQURnSCxFSDRCL0c7RUFGQztJR3pCRixrQ0FEZ0gsRUg0Qi9HO0VBRkM7SUd6QkYsa0NBRGdILEVINEIvRztFQUZDO0lHekJGLDZCQURnSCxFSDRCL0c7RVY4Q0M7SVU1REY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HO0lBZEQ7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7RVY4Q0M7SVU1REY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7RVZtREM7SVVqRUY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7RVZtREM7SVVqRUY7TUdyQkEsYUFBbUIsRUh1QnBCO0lBRUM7TUdyQkEsYUFBbUIsRUh1QnBCO0lBTUc7TUd6QkYsa0NBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw2QkFEZ0gsRUg0Qi9HO0lBRkM7TUd6QkYsbUNBRGdILEVINEIvRztJQUZDO01HekJGLG1DQURnSCxFSDRCL0c7SUFGQztNR3pCRiw4QkFEZ0gsRUg0Qi9HLEVBQUE7O0FBeU5IO0VROVRFLGFBQXNDO0VBR3hDLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsMEJBQWlCO0VBQWpCLHNCQUFpQjtFQUFqQixrQkFBaUI7RUFDakIsMkJBQW9CO0VBQXBCLDZCQUFvQjtFQUFwQix3QkFBb0I7RUFBcEIscUJBQW9CLEVSMFRuQjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFFRDtFUWpURSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFHakIsa0NBQWlDO0VBQ2pDLDZDQUE0QyxFUjhTM0M7O0FBRUQ7RVF4VEUsaUJBQWdCO0VBQ2hCLGlCQUFnQjtFQU1sQixrQ0FBaUM7RUFDakMsNkNBQTRDLEVSa1QzQzs7QUFHRDtFUTlTQSxxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNkJBQXNCO0VBQXRCLDhCQUFzQjtFQUF0QiwrQkFBc0I7RUFBdEIsMkJBQXNCO0VBQXRCLHVCQUFzQjtFQUN0QixpQkFBZ0IsRVI4U2Y7RVE1U0M7SUFDQSxpQkFBZ0I7SUFDaEIsMEJBQWlCO0lBQWpCLHNCQUFpQjtJQUFqQixrQkFBaUIsRUFDbEI7O0FsQjJHRztFVW1NRjtJUXRWQSxhQUFzQztJQUd4QyxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLDBCQUFpQjtJQUFqQixzQkFBaUI7SUFBakIsa0JBQWlCO0lBQ2pCLDJCQUFvQjtJQUFwQiw2QkFBb0I7SUFBcEIsd0JBQW9CO0lBQXBCLHFCQUFvQixFUmtWakI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFQUVEO0lRelVBLGlCQUFnQjtJQUNoQixnQkFBZTtJQUdqQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVSc1V6QztFQUVEO0lRalVGLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtJQUF0QiwyQkFBc0I7SUFBdEIsdUJBQXNCO0lBQ3RCLGlCQUFnQixFUmlVYjtJUS9URDtNQUNBLGlCQUFnQjtNQUNoQiwwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtFUjhUQztJUXBWQSxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBTWxCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVI4VXpDLEVBQUE7O0FWck5DO0VVbU1GO0lRdFZBLGFBQXNDO0lBR3hDLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO0lBQWpCLHNCQUFpQjtJQUFqQixrQkFBaUI7SUFDakIsMkJBQW9CO0lBQXBCLDZCQUFvQjtJQUFwQix3QkFBb0I7SUFBcEIscUJBQW9CLEVSa1ZqQjtFQUVEO0lBQ0UsWUFBVyxFQUNaO0VBRUQ7SVF6VUEsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBR2pCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVJzVXpDO0VBRUQ7SVFqVUYscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDZCQUFzQjtJQUF0Qiw4QkFBc0I7SUFBdEIsK0JBQXNCO0lBQXRCLDJCQUFzQjtJQUF0Qix1QkFBc0I7SUFDdEIsaUJBQWdCLEVSaVViO0lRL1REO01BQ0EsaUJBQWdCO01BQ2hCLDBCQUFpQjtNQUFqQixzQkFBaUI7TUFBakIsa0JBQWlCLEVBQ2xCO0VSOFRDO0lRcFZBLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFNbEIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUjhVekMsRUFBQTs7QVZoTkM7RVU4TEY7SVF0VkEsYUFBc0M7SUFHeEMsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7SUFBakIsc0JBQWlCO0lBQWpCLGtCQUFpQjtJQUNqQiwyQkFBb0I7SUFBcEIsNkJBQW9CO0lBQXBCLHdCQUFvQjtJQUFwQixxQkFBb0IsRVJrVmpCO0VBRUQ7SUFDRSxZQUFXLEVBQ1o7RUFFRDtJUXpVQSxpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFHakIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUnNVekM7RUFFRDtJUWpVRixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtJQUF0QiwrQkFBc0I7SUFBdEIsMkJBQXNCO0lBQXRCLHVCQUFzQjtJQUN0QixpQkFBZ0IsRVJpVWI7SVEvVEQ7TUFDQSxpQkFBZ0I7TUFDaEIsMEJBQWlCO01BQWpCLHNCQUFpQjtNQUFqQixrQkFBaUIsRUFDbEI7RVI4VEM7SVFwVkEsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQU1sQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVSOFV6QyxFQUFBOztBVmhOQztFVThMRjtJUXRWQSxhQUFzQztJQUd4QyxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLDBCQUFpQjtJQUFqQixzQkFBaUI7SUFBakIsa0JBQWlCO0lBQ2pCLDJCQUFvQjtJQUFwQiw2QkFBb0I7SUFBcEIsd0JBQW9CO0lBQXBCLHFCQUFvQixFUmtWakI7RUFFRDtJQUNFLFlBQVcsRUFDWjtFQUVEO0lRelVBLGlCQUFnQjtJQUNoQixnQkFBZTtJQUdqQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVSc1V6QztFQUVEO0lRalVGLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO0lBQXRCLCtCQUFzQjtJQUF0QiwyQkFBc0I7SUFBdEIsdUJBQXNCO0lBQ3RCLGlCQUFnQixFUmlVYjtJUS9URDtNQUNBLGlCQUFnQjtNQUNoQiwwQkFBaUI7TUFBakIsc0JBQWlCO01BQWpCLGtCQUFpQixFQUNsQjtFUjhUQztJUXBWQSxpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBTWxCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVI4VXpDLEVBQUE7O0FBS0Q7RUFFSSxZQUFXO0VRalhmLGNBQXVDO0VBS3pDLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsMEJBQWlCO0VBQWpCLHNCQUFpQjtFQUFqQixrQkFBaUI7RUFDakIsMkJBQW9CO0VBQXBCLDZCQUFvQjtFQUFwQix3QkFBb0I7RUFBcEIscUJBQW9CLEVSMldmOztBVjlORDtFVTBORjtJQVFNLFlBQVc7SVF2WGpCLGNBQXVDO0lBS3pDLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO0lBQWpCLHNCQUFpQjtJQUFqQixrQkFBaUI7SUFDakIsMkJBQW9CO0lBQXBCLDZCQUFvQjtJQUFwQix3QkFBb0I7SUFBcEIscUJBQW9CLEVSaVhiLEVBQUE7O0FWcE9IO0VVME5GO0lBUU0sWUFBVztJUXZYakIsY0FBdUM7SUFLekMsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQiwwQkFBaUI7SUFBakIsc0JBQWlCO0lBQWpCLGtCQUFpQjtJQUNqQiwyQkFBb0I7SUFBcEIsNkJBQW9CO0lBQXBCLHdCQUFvQjtJQUFwQixxQkFBb0IsRVJpWGIsRUFBQTs7QVYvTkg7RVVxTkY7SUFRTSxZQUFXO0lRdlhqQixjQUF1QztJQUt6QyxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLDBCQUFpQjtJQUFqQixzQkFBaUI7SUFBakIsa0JBQWlCO0lBQ2pCLDJCQUFvQjtJQUFwQiw2QkFBb0I7SUFBcEIsd0JBQW9CO0lBQXBCLHFCQUFvQixFUmlYYixFQUFBOztBVi9OSDtFVXFORjtJQVFNLFlBQVc7SVF2WGpCLGNBQXVDO0lBS3pDLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO0lBQWpCLHNCQUFpQjtJQUFqQixrQkFBaUI7SUFDakIsMkJBQW9CO0lBQXBCLDZCQUFvQjtJQUFwQix3QkFBb0I7SUFBcEIscUJBQW9CLEVSaVhiLEVBQUE7O0FBSUw7RUFFSSxhQUFZLEVBQ2I7O0FWM09EO0VVd09GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FWL09IO0VVd09GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FWMU9IO0VVbU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FWMU9IO0VVbU9GO0lBTU0sYUFBWSxFQUNiLEVBQUE7O0FTL0lQOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlg1RjBCO0VXOEYxQixtQkFBa0I7RUFDbEIsaUJYaEdzQjtFV2lHdEIsbUNYL0Z5QyxFV2dHMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQlhuTHFCO0VXb0xyQixxQkFBb0IsRUFDckI7O0FBR0Q7RUFDRSxlWHRIaUI7RVd1SGpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsNkJYM0pnQztFVzRKaEMsbUJYMUpzQjtFVzJKdEIsaUJYNUpvQjtFVzZKcEIsZVgxSmtCO0VXMkpsQixtQ1h0SXNDLEVXNEl2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVYeE5lLEVXeU5oQjs7QUFRRztFQUlJLGtCUHZQNkM7RU9tUTdDLGVYdkxTO0VXK0xULGNBQWE7RUFPYixzQlhyTWlCLEVXdU1wQjs7QUFqQ0Q7RUFJSSxtQlB2UDZDO0VPbVE3QyxlWHZMUztFVytMVCxjQUFhO0VBT2Isc0JYck1pQixFV3VNcEI7O0FBakNEO0VBSUkscUJQdlA2QztFT21RN0MsZVh2TFM7RVcrTFQsY0FBYTtFQU9iLHNCWHJNaUIsRVd1TXBCOztBQWpDRDtFQUlJLG9CUHZQNkM7RU9tUTdDLGVYdkxTO0VXK0xULGNBQWE7RUFPYixzQlhyTWlCLEVXdU1wQjs7QUFqQ0Q7RUFJSSxxQlB2UDZDO0VPbVE3QyxlWHZMUztFVytMVCxjQUFhO0VBT2Isc0JYck1pQixFV3VNcEI7O0FBakNEO0VBSUksZ0JQdlA2QztFT21RN0MsZVh2TFM7RVcrTFQsY0FBYTtFQU9iLHNCWHJNaUIsRVd1TXBCOztBbkI3TUg7RW1CNEtFO0lBSUksZ0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxrQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHFCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUkscUJQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxtQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLGdCUHZQNkMsRU9vUmhELEVBQUE7O0FBTVA7RUFDRSxxQkFBb0I7RUFDcEIsZVg3U2M7RVc4U2Qsc0JYL0t5QjtFV2lMekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWHRMMkQsRVcwTDVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBQUlIO0VBQ0UsWUFBVztFQUVYLG1CUGxUcUQ7RU9tVHJELFVBQVM7RUFDVCxxQlhsTXlCO0VXb016QixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixpQ1h0U2lCO0VXdVNqQixlQUFjLEVBQ2Y7O0FBR0Q7OztFQUdFLG9CWDVOMEI7RVc2TjFCLDZCWDNNeUI7RVc0TXpCLGlCWC9Oc0IsRVdnT3ZCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0UscUJYck5zQjtFV3NOdEIsc0JYeE5rQixFV3lObkI7O0FBR0Q7RUFDRSxxQlgzTnNCLEVXNE52Qjs7QUFHRDtFQUVJLHFCWGhPMkI7RVdpTzNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CWHRPeUIsRVc0TzFCO0VBUEQ7SUFJSSxzQlh2TzhCO0lXd085QixrQlhyVW1CLEVXc1VwQjs7QUFJSDtFQUNFLGlCWHJRMEI7RVdzUTFCLHVDUDFXcUQ7RU8yV3JELCtCWHpWaUIsRVcrVmxCO0VBVEQ7SUFNSSxpQlgzUW9CO0lXNFFwQixlWDVWYSxFVzZWZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQlB0WHFEO0VPdVhyRCxlWHBXZSxFV3lXaEI7RUFSRDtJQU1JLGNYelBnQixFQUFhOztBVzhQakM7RUFDRSxrQ1g1V1c7RVc2V1gsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QUFHRDtFQUNFLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDUDVZcUQ7RU84WXJELDBCWDVYaUI7RVc2WGpCLDBCWDlYZ0I7RVdnWWhCLDZEWHZVbUU7RVd3VW5FLG9CWHJYeUI7RVdzWHpCLGVYL1hXLEVXZ1laOztBQUdEO0VBQ0UsVUFBUztFQUNULDRCUHBaUztFT3NaVCwwQlgxWWdCO0VXNFloQiw2RFhuVm1FO0VXb1ZuRSxlWDFZVyxFVytZWjs7QUM1Y0Q7RUFDRSxtQlp5THlCO0VZeEx6QixzQlp5TDRCO0VZdkw1QixvQlprRXlCO0VZakV6QixpQlprTHNCO0VZakx0QixlWnNEZSxFWXJEaEI7O0FBR0Q7RUFDRSxnQlowS3FDO0VZektyQyxpQlowS2lCLEVZektsQjs7QUFHRDtFQUNFLGtCWjJLbUI7RVkxS25CLGVBQWMsRUFLZjtFQUhDO0lBQ0Usa0JBQWlCLEVBQ2xCOztBQUdIO0VBR0ksZUFBZ0M7RUFDaEMsaUJBQWdCLEVBQ2pCOztBQy9ESztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZEO0VBQ0UsbUJBUjhCLEVBUy9C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O0lBaklQO01BQ0UsMEJBUG9GO01BUXBGLGV2QjNDVyxFdUI0Q1o7RUE2R0Q7SUFuSEEsMEJ2QnZFYztJdUJ3RWQsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJuRW1CO0l1Qm9FbkIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkJsRW9CO0l1Qm1FcEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJqRWtCO0l1QmtFbEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkI5RHFCO0l1QitEckIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkI3RDJCO0l1QjhEM0IsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkI1RG9CO0l1QjZEcEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkIzRHNCO0l1QjREdEIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkIxRHNCO0l1QjJEdEIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkJ6RDBCO0l1QjBEMUIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkJ4RG9CO0l1QnlEcEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJ2RG9CO0l1QndEcEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJ0RHNCO0l1QnVEdEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJuRHVCO0l1Qm9EdkIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJsRDJCO0l1Qm1EM0IsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJqRHNCO0l1QmtEdEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkJoRHdCO0l1QmlEeEIsZXZCdkNhLEV1QjBLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIzQ1csRXVCNENaO0VBNkdEO0lBbkhBLDBCdkIvQ3dCO0l1QmdEeEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkI5Q3NCO0l1QitDdEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkI3Q3NCO0l1QjhDdEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkI1Q3VCO0l1QjZDdkIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBbkhBLDBCdkIzQ3dCO0l1QjRDeEIsZXZCdENhLEV1QnlLTjtJQWpJUDtNQUNFLDBCQVBvRjtNQVFwRixldkIxQ1csRXVCMkNaO0VBNkdEO0lBMURBLGN2QnlINEI7SXVCeEg1QixvQkFBbUIsRUFpR2hCO0lBL0ZIO01BQ0UsMEJ2QnhJYztNdUJ5SWQsZXZCbkdXLEV1Qm9HWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QnhJYztRdUJ5SWQsZXZCbkdXLEV1Qm9HWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QnZJZ0I7UXVCd0loQixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCdEljO1F1QnVJZCxldkJwR1csRXVCcUdaO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCckljO1F1QnNJZCxldkJwR1csRXVCcUdaO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCcElZO1F1QnFJWixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCaElpQjtRdUJpSWpCLGV2QnBHVyxFdUJxR1o7SUFvREQ7TUExREEsY3ZCeUg0QjtNdUJ4SDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdkIvSGtCO1F1QmdJbEIsZXZCbkdXLEV1Qm9HWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QjlIZ0I7UXVCK0hoQixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCM0htQjtRdUI0SG5CLGV2QnBHVyxFdUJxR1o7SUFvREQ7TUExREEsY3ZCeUg0QjtNdUJ4SDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdkIxSHlCO1F1QjJIekIsZXZCcEdXLEV1QnFHWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QnpIa0I7UXVCMEhsQixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCeEhvQjtRdUJ5SHBCLGV2QnBHVyxFdUJxR1o7SUFvREQ7TUExREEsY3ZCeUg0QjtNdUJ4SDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdkJ2SG9CO1F1QndIcEIsZXZCcEdXLEV1QnFHWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QnRId0I7UXVCdUh4QixldkJwR1csRXVCcUdaO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCckhrQjtRdUJzSGxCLGV2Qm5HVyxFdUJvR1o7SUFvREQ7TUExREEsY3ZCeUg0QjtNdUJ4SDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdkJwSGtCO1F1QnFIbEIsZXZCbkdXLEV1Qm9HWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2Qm5Ib0I7UXVCb0hwQixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7UUFDRSwwQnZCaEhxQjtRdUJpSHJCLGV2Qm5HVyxFdUJvR1o7SUFvREQ7TUExREEsY3ZCeUg0QjtNdUJ4SDVCLG9CQUFtQixFQStGWjtNQTdGUDtRQUNFLDBCdkIvR3lCO1F1QmdIekIsZXZCbkdXLEV1Qm9HWjtJQW9ERDtNQTFEQSxjdkJ5SDRCO011QnhINUIsb0JBQW1CLEVBK0ZaO01BN0ZQO1FBQ0UsMEJ2QjlHb0I7UXVCK0dwQixldkJuR1csRXVCb0daO0lBb0REO01BMURBLGN2QnlINEI7TXVCeEg1QixvQkFBbUIsRUErRlo7TUE3RlA7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RDtJQUNFLGlDeEJZZ0I7SXdCWGhCLHVCeEJ5QmEsRXdCeEJkO0VBRUQ7SUFFRSwwQnhCTWdCLEV3QkxqQjtFQUdDO0lBQ0UsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixZQUFzQjtJQUN0QixvQkFBbUI7SUFDbkIsYUFBWSxFQUNiO0VBRUQ7SUFDRSxpQkFBZ0IsRUFDakI7O0FBc0NIO0VBM0JBLGNBQWE7RUFDYixjeEJ1SThCO0V3QnJJOUIsMEJ4QnRCa0I7RXdCdUJsQixpQkFBZ0I7RUFDaEIsMEJ4QnBCYTtFd0JzQmIsZXhCdkJhLEV3QjZDWjtFQXBCRDtJQUNFLGlDeEI3QmdCLEV3QjhCakI7O0FDdEZEO0VBWEEsc0JBQXFCO0VBQ3JCLGlCekJ1UG9CO0V5QnRQcEIsZXpCcVBtQjtFeUJuUG5CLG1CQUFrQjtFQUVsQixrQnpCbVBzQjtFeUJsUHRCLG1CQUFrQjtFQU9oQixvQnpCbUJjO0V5QmxCZCxlekJ3RFcsRXlCaERaO0VBWkQ7SUFRTSxvQnpCY1U7SXlCYlYsZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QmVZO0l5QmRaLGV6Qm1ETyxFeUJsRFI7RUFWTDtJQVFNLG9CekJnQlU7SXlCZlYsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QmlCVTtJeUJoQlYsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QmtCUTtJeUJqQlIsZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QnNCYTtJeUJyQmIsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QnVCYztJeUJ0QmQsZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QndCWTtJeUJ2QlosZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QjJCZTtJeUIxQmYsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QjRCcUI7SXlCM0JyQixlekJrRE8sRXlCakRSO0VBVkw7SUFRTSxvQnpCNkJjO0l5QjVCZCxlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCOEJnQjtJeUI3QmhCLGV6QmtETyxFeUJqRFI7RUFWTDtJQVFNLG9CekIrQmdCO0l5QjlCaEIsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QmdDb0I7SXlCL0JwQixlekJrRE8sRXlCakRSO0VBVkw7SUFRTSxvQnpCaUNjO0l5QmhDZCxlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCa0NjO0l5QmpDZCxlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCbUNnQjtJeUJsQ2hCLGV6Qm1ETyxFeUJsRFI7RUFWTDtJQVFNLG9CekJzQ2lCO0l5QnJDakIsZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QnVDcUI7SXlCdENyQixlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCd0NnQjtJeUJ2Q2hCLGV6Qm1ETyxFeUJsRFI7RUFWTDtJQVFNLG9CekJ5Q2tCO0l5QnhDbEIsZXpCa0RPLEV5QmpEUjtFQVZMO0lBUU0sb0J6QjBDa0I7SXlCekNsQixlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCMkNnQjtJeUIxQ2hCLGV6Qm1ETyxFeUJsRFI7RUFWTDtJQVFNLG9CekI0Q2dCO0l5QjNDaEIsZXpCbURPLEV5QmxEUjtFQVZMO0lBUU0sb0J6QjZDaUI7SXlCNUNqQixlekJtRE8sRXlCbERSO0VBVkw7SUFRTSxvQnpCOENrQjtJeUI3Q2xCLGV6Qm1ETyxFeUJsRFI7O0FDaURMO0VBM0NBLG1CMUJtT3VDO0UwQmxPdkMsaUJBQWdCLEVBaURmO0V6QnlERDtJQUVFLGVBQWM7SUFDZCxhQUFZO0lBR1Ysc0JBQWE7SUFBYiwyQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBUTtJQUFSLGlCQUFRO0lBQVIsa0JBQVE7SUFBUixTQUFRLEVBRVg7RUFFRDtJQUNFLFlBQVcsRUFDWjtFeUJwSEQ7SUFDRSxZQUFPO0lBRVAscUJ0QmdCcUQ7SXNCZnJELGUxQm1DVztJMEJsQ1gsZ0JBQWU7SUFHYiwwQkFBeUIsRUFrQjVCO0lBMUJEO01BZ0JNLG1CQUFrQjtNQUNsQixrQjFCbU55QjtNMEJsTnpCLFdBQVU7TUFDVixhMUJvTjZCO00wQm5ON0IsZTFCaUJhLEUwQmhCZDtFQVFMO0lBQ0UsZTFCNUJjLEUwQmlDZjtJ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QUV6QixpQ0FGeUI7RUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO0VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO0VFNEJuRCwwQkY1Qm1EO0VFNEJuRCxzQkY1Qm1EO0VNR2pELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztFSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO0VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO0VFMkJyRCw0QkYzQnFEO0VFMkJyRCx3QkYzQnFEO0VNRW5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztFSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREduQ2lDO0VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO0VFMEJ0RCw2QkYxQnNEO0VFMEJ0RCx5QkYxQnNEO0VNQ3BELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztFSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREdsQytCO0VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO0VFeUJwRCwyQkZ6Qm9EO0VFeUJwRCx1QkZ6Qm9EO0VNQWxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztFSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO0VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dDZTtFSERmLDZCR0NlO0VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO0VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7RUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0NlO0VIRGYsNkJHQ2U7RUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7RUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO0VIUTlDLDRDR1I4QztFSFE5Qyw4QkZ0Qm1EO0VFc0JuRCwwQkZ0Qm1EO0VFc0JuRCxzQkZ0Qm1EO0VNSGpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3JDbUM7RUhxQ25DLCtDR3JDbUM7RUN1QmpDLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO0VIUTlDLDRDR1I4QztFSFE5QyxnQ0ZyQnFEO0VFcUJyRCw0QkZyQnFEO0VFcUJyRCx3QkZyQnFEO0VNSm5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7RUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO0VIUTlDLDRDR1I4QztFSFE5QyxpQ0ZwQnNEO0VFb0J0RCw2QkZwQnNEO0VFb0J0RCx5QkZwQnNEO0VNTHBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER25DaUM7RUhtQ2pDLDhDR25DaUM7RUNxQi9CLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO0VIUTlDLDRDR1I4QztFSFE5QywrQkZuQm9EO0VFbUJwRCwyQkZuQm9EO0VFbUJwRCx1QkZuQm9EO0VNTmxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHNER2xDK0I7RUhrQy9CLDhDR2xDK0I7RUNvQjdCLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUjhDO0VIUTlDLDRDR1I4QztFSFE5QyxpQ0dDZTtFSERmLDZCR0NlO0VIRGYseUJHQ2U7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztFSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7RUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO0VIRGYsNkJHQ2U7RUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdwQ3FDO0VIb0NyQywr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dkNrQjtFQXVDbEIscUJBdkNrQixFRGdGZjs7QUFFRDtFQzNCRiw0QkF2RGtCO0VBdURsQiw2QkF2RGtCO0VBdURsQixvQkF2RGtCLEVEb0ZmOztBQUlIO0VDbERBLHlCQS9DZ0I7RUErQ2hCLGdDQS9DZ0I7RUErQ2hCLHNCQS9DZ0I7RUErQ2hCLHdCQS9DZ0I7RUFnRGhCLDBCQXhDZ0I7RUF3Q2hCLDRCQXhDZ0I7RUF3Q2hCLHVCQXhDZ0I7RUF3Q2hCLG9CQXhDZ0I7RUQyRmQsOEJBQXFCO0VBQXJCLDJCQUFxQjtFQUFyQixzQkFBcUIsRUFDdEI7O0FBS0c7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0FBRkQ7RUNuQ0osNkJEa0NnQjtFQ2xDaEIsaUJEa0NnQjtFQ2xDaEIsa0JEa0NnQjtFQ2xDaEIsU0RrQ2dCLEVBR1g7O0E5RGlERDtFOERuREE7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0E5RGlERDtFOERuREE7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0E5RHNERDtFOER4REE7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0E5RHNERDtFOER4REE7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYO0VBRkQ7SUNuQ0osNkJEa0NnQjtJQ2xDaEIsaUJEa0NnQjtJQ2xDaEIsa0JEa0NnQjtJQ2xDaEIsU0RrQ2dCLEVBR1g7RUFGRDtJQ25DSiw2QkRrQ2dCO0lDbENoQixpQkRrQ2dCO0lDbENoQixrQkRrQ2dCO0lDbENoQixTRGtDZ0IsRUFHWDtFQUZEO0lDbkNKLDZCRGtDZ0I7SUNsQ2hCLGlCRGtDZ0I7SUNsQ2hCLGtCRGtDZ0I7SUNsQ2hCLFNEa0NnQixFQUdYLEVBQUE7O0FBN0ZMO0VDT0EscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFRExaOztBQUVEO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztFQUFkLG1CQUFjO0VBQWQsZUFBYyxFQUNmOztBQUVEO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztFQUFkLG1CQUFjO0VBQWQsZUFBYyxFQUNmOztBQUVEO0VBQ0Usb0JBQWM7RUFBZCx1QkFBYztFQUFkLG1CQUFjO0VBQWQsZUFBYyxFQUNmOztBQUdDO0VDaURGLCtCQW5FVTtFQW1FViw4QkFuRVU7RUFtRVYsNEJBbkVVO0VBbUVWLHdCQW5FVTtFQW1FVixvQkFuRVUsRURvQlA7O0FBRkQ7RUNpREYsK0JBbEUwQjtFQWtFMUIsK0JBbEUwQjtFQWtFMUIsb0NBbEUw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STZESUosZTdESkksRTZES1A7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RDUztJNkRBVCxlN0RBUyxFNkRDWjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3REVVO0k2RERWLGU3RENVLEU2REFiO0VBM0VUO0lBd0VZLDBCQUF5QjtJQUN6QixzQjdER1E7STZERlIsZTdERVEsRTZERFg7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RNVztJNkRMWCxlN0RLVyxFNkRKZDtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RE9pQjtJNkROakIsZTdETWlCLEU2RExwQjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RFFVO0k2RFBWLGU3RE9VLEU2RE5iO0VBM0VUO0lBd0VZLDBCQUF5QjtJQUN6QixzQjdEU1k7STZEUlosZTdEUVksRTZEUGY7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RVWTtJNkRUWixlN0RTWSxFNkRSZjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RFdnQjtJNkRWaEIsZTdEVWdCLEU2RFRuQjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RFlVO0k2RFhWLGU3RFdVLEU2RFZiO0VBM0VUO0lBd0VZLDBCQUF5QjtJQUN6QixzQjdEYVU7STZEWlYsZTdEWVUsRTZEWGI7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RjWTtJNkRiWixlN0RhWSxFNkRaZjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RGlCYTtJNkRoQmIsZTdEZ0JhLEU2RGZoQjtFQTNFVDtJQXdFWSwwQkFBeUI7SUFDekIsc0I3RGtCaUI7STZEakJqQixlN0RpQmlCLEU2RGhCcEI7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RtQlk7STZEbEJaLGU3RGtCWSxFNkRqQmY7RUEzRVQ7SUF3RVksMEJBQXlCO0lBQ3pCLHNCN0RvQmM7STZEbkJkLGU3RG1CYyxFNkRsQmpCO0VBM0VUO0lBd0VZLDBCQUF5QjtJQUN6QixzQjdEcUJjO0k2RHBCZCxlN0RvQmMsRTZEbkJq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N0I7RUFORDtJQUlFLDZCQUE0QixFQUM1Qjs7QUFHRjtFQUNDLGNBQWEsRUFDYjs7QWxJd0tEO0VBQ0ksaUJBQWdCO0VBQ2hCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLGtCQUFpQixFQUNwQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLnUtYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0EzQzM5ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmxhY2sge1xuICBjb2xvcjogIzNBM0MzOSAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWJsYWNrLS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNGM1YzQ7IH1cblxuLnUtYmctYmxhY2stLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlkOWU5YzsgfVxuXG4udS1iZy1ibGFjay0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU3Nzc0OyB9XG5cbi51LWJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi51LXdoaXRlIHtcbiAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4udS1iZy13aGl0ZS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4udS1iZy13aGl0ZS0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4udS1iZy13aGl0ZS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi51LWJnLWxpZ2h0LW1pbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzViZmI3ICFpbXBvcnRhbnQ7IH1cblxuLnUtbGlnaHQtbWluayB7XG4gIGNvbG9yOiAjYzViZmI3ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctbGlnaHQtbWluay0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlY2U5OyB9XG5cbi51LWJnLWxpZ2h0LW1pbmstLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UyZGZkYjsgfVxuXG4udS1iZy1saWdodC1taW5rLS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQyY2Q7IH1cblxuLnUtYmctbWVkaXVtLW1pbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc2ZTY0ICFpbXBvcnRhbnQ7IH1cblxuLnUtbWVkaXVtLW1pbmsge1xuICBjb2xvcjogIzc3NmU2NCAhaW1wb3J0YW50OyB9XG5cbi51LWJnLW1lZGl1bS1taW5rLS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ0ZDE7IH1cblxuLnUtYmctbWVkaXVtLW1pbmstLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjdiMjsgfVxuXG4udS1iZy1tZWRpdW0tbWluay0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTA5YTkzOyB9XG5cbi51LWJnLWRhcmstbWluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNzNhMzYgIWltcG9ydGFudDsgfVxuXG4udS1kYXJrLW1pbmsge1xuICBjb2xvcjogIzM3M2EzNiAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWRhcmstbWluay0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzNjNGMzOyB9XG5cbi51LWJnLWRhcmstbWluay0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWI5ZDliOyB9XG5cbi51LWJnLWRhcmstbWluay0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzM3NTcyOyB9XG5cbi51LWJnLWRhcmstZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MTYzNjEgIWltcG9ydGFudDsgfVxuXG4udS1kYXJrLWdyZXkge1xuICBjb2xvcjogIzYxNjM2MSAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWRhcmstZ3JleS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQwOyB9XG5cbi51LWJnLWRhcmstZ3JleS0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBiMWIwOyB9XG5cbi51LWJnLWRhcmstZ3JleS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTA5MjkwOyB9XG5cbi51LWJnLWVuZXJneS1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NkJEMjIgIWltcG9ydGFudDsgfVxuXG4udS1lbmVyZ3ktZ3JlZW4ge1xuICBjb2xvcjogIzc2QkQyMiAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWVuZXJneS1ncmVlbi0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZlYmJkOyB9XG5cbi51LWJnLWVuZXJneS1ncmVlbi0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJkZTkxOyB9XG5cbi51LWJnLWVuZXJneS1ncmVlbi0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWZkMTY0OyB9XG5cbi51LWJnLWVuZXJneS1saWdodC1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5QkJFQUMgIWltcG9ydGFudDsgfVxuXG4udS1lbmVyZ3ktbGlnaHQtZ3JlZW4ge1xuICBjb2xvcjogIzlCQkVBQyAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWVuZXJneS1saWdodC1ncmVlbi0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlY2U2OyB9XG5cbi51LWJnLWVuZXJneS1saWdodC1ncmVlbi0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RkZmQ2OyB9XG5cbi51LWJnLWVuZXJneS1saWdodC1ncmVlbi0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjlkMmM1OyB9XG5cbi51LWJnLWVuZXJneS10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODk5NiAhaW1wb3J0YW50OyB9XG5cbi51LWVuZXJneS10ZWFsIHtcbiAgY29sb3I6ICMwMDg5OTYgIWltcG9ydGFudDsgfVxuXG4udS1iZy1lbmVyZ3ktdGVhbC0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjNkY2UwOyB9XG5cbi51LWJnLWVuZXJneS10ZWFsLS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MGM0Y2I7IH1cblxuLnUtYmctZW5lcmd5LXRlYWwtLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYWNiNjsgfVxuXG4udS1iZy1lbmVyZ3kteWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y0QzQwMCAhaW1wb3J0YW50OyB9XG5cbi51LWVuZXJneS15ZWxsb3cge1xuICBjb2xvcjogI0Y0QzQwMCAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWVuZXJneS15ZWxsb3ctLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZWRiMzsgfVxuXG4udS1iZy1lbmVyZ3kteWVsbG93LS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWUyODA7IH1cblxuLnUtYmctZW5lcmd5LXllbGxvdy0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdkNjRkOyB9XG5cbi51LWJnLWVuZXJneS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUU3NjI0ICFpbXBvcnRhbnQ7IH1cblxuLnUtZW5lcmd5LW9yYW5nZSB7XG4gIGNvbG9yOiAjRUU3NjI0ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctZW5lcmd5LW9yYW5nZS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkNmJkOyB9XG5cbi51LWJnLWVuZXJneS1vcmFuZ2UtLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YmI5MjsgfVxuXG4udS1iZy1lbmVyZ3ktb3JhbmdlLS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzlmNjY7IH1cblxuLnUtYmctZW5lcmd5LWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUZCNEU1ICFpbXBvcnRhbnQ7IH1cblxuLnUtZW5lcmd5LWxpZ2h0LWJsdWUge1xuICBjb2xvcjogIzVGQjRFNSAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWVuZXJneS1saWdodC1ibHVlLS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmU5Zjc7IH1cblxuLnUtYmctZW5lcmd5LWxpZ2h0LWJsdWUtLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmZGFmMjsgfVxuXG4udS1iZy1lbmVyZ3ktbGlnaHQtYmx1ZS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGZjYmVkOyB9XG5cbi51LWJnLWVuZXJneS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNEN0RDQSAhaW1wb3J0YW50OyB9XG5cbi51LWVuZXJneS1ibHVlIHtcbiAgY29sb3I6ICMzRDdEQ0EgIWltcG9ydGFudDsgfVxuXG4udS1iZy1lbmVyZ3ktYmx1ZS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVkOGVmOyB9XG5cbi51LWJnLWVuZXJneS1ibHVlLS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWJlZTU7IH1cblxuLnUtYmctZW5lcmd5LWJsdWUtLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3YTRkYTsgfVxuXG4udS1iZy1lbmVyZ3ktcGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENDE1NjggIWltcG9ydGFudDsgfVxuXG4udS1lbmVyZ3ktcGluayB7XG4gIGNvbG9yOiAjRDQxNTY4ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctZW5lcmd5LXBpbmstLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyYjlkMjsgfVxuXG4udS1iZy1lbmVyZ3ktcGluay0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWE4YWI0OyB9XG5cbi51LWJnLWVuZXJneS1waW5rLS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTViOTU7IH1cblxuLnUtYmctZW5lcmd5LXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTJDODIgIWltcG9ydGFudDsgfVxuXG4udS1lbmVyZ3ktcHVycGxlIHtcbiAgY29sb3I6ICM1OTJDODIgIWltcG9ydGFudDsgfVxuXG4udS1iZy1lbmVyZ3ktcHVycGxlLS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGMwZGE7IH1cblxuLnUtYmctZW5lcmd5LXB1cnBsZS0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWM5NmMxOyB9XG5cbi51LWJnLWVuZXJneS1wdXJwbGUtLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhiNmJhODsgfVxuXG4udS1iZy1oZXJpdGFnZS1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY5MzggIWltcG9ydGFudDsgfVxuXG4udS1oZXJpdGFnZS1ncmVlbiB7XG4gIGNvbG9yOiAjMDA2OTM4ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctaGVyaXRhZ2UtZ3JlZW4tLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDJjMzsgfVxuXG4udS1iZy1oZXJpdGFnZS1ncmVlbi0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODBiNDljOyB9XG5cbi51LWJnLWhlcml0YWdlLWdyZWVuLS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDk2NzQ7IH1cblxuLnUtYmctaGVyaXRhZ2UtZ3JlZW4tYWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNzA1MSAhaW1wb3J0YW50OyB9XG5cbi51LWhlcml0YWdlLWdyZWVuLWFsdCB7XG4gIGNvbG9yOiAjMkI3MDUxICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctaGVyaXRhZ2UtZ3JlZW4tYWx0LS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiZmQ0Y2I7IH1cblxuLnUtYmctaGVyaXRhZ2UtZ3JlZW4tYWx0LS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NWI4YTg7IH1cblxuLnUtYmctaGVyaXRhZ2UtZ3JlZW4tYWx0LS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2YjliODU7IH1cblxuLnUtYmctaGVyaXRhZ2UtdGVhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVFNjMgIWltcG9ydGFudDsgfVxuXG4udS1oZXJpdGFnZS10ZWFsIHtcbiAgY29sb3I6ICMwMDVFNjMgIWltcG9ydGFudDsgfVxuXG4udS1iZy1oZXJpdGFnZS10ZWFsLS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2NmZDA7IH1cblxuLnUtYmctaGVyaXRhZ2UtdGVhbC0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODBhZmIxOyB9XG5cbi51LWJnLWhlcml0YWdlLXRlYWwtLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkOGU5MjsgfVxuXG4udS1iZy1oZXJpdGFnZS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNBQTAwICFpbXBvcnRhbnQ7IH1cblxuLnUtaGVyaXRhZ2UteWVsbG93IHtcbiAgY29sb3I6ICNFQ0FBMDAgIWltcG9ydGFudDsgfVxuXG4udS1iZy1oZXJpdGFnZS15ZWxsb3ctLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZTZiMzsgfVxuXG4udS1iZy1oZXJpdGFnZS15ZWxsb3ctLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZDU4MDsgfVxuXG4udS1iZy1oZXJpdGFnZS15ZWxsb3ctLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyYzQ0ZDsgfVxuXG4udS1iZy1oZXJpdGFnZS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE0NTA0ICFpbXBvcnRhbnQ7IH1cblxuLnUtaGVyaXRhZ2Utb3JhbmdlIHtcbiAgY29sb3I6ICNFMTQ1MDQgIWltcG9ydGFudDsgfVxuXG4udS1iZy1oZXJpdGFnZS1vcmFuZ2UtLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2YzdiNDsgfVxuXG4udS1iZy1oZXJpdGFnZS1vcmFuZ2UtLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYTI4MjsgfVxuXG4udS1iZy1oZXJpdGFnZS1vcmFuZ2UtLTcwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhN2Q0ZjsgfVxuXG4udS1iZy1oZXJpdGFnZS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NURBRSAhaW1wb3J0YW50OyB9XG5cbi51LWhlcml0YWdlLWJsdWUge1xuICBjb2xvcjogIzM4NURBRSAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWhlcml0YWdlLWJsdWUtLTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MzY2VlNzsgfVxuXG4udS1iZy1oZXJpdGFnZS1ibHVlLS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5Y2FlZDc7IH1cblxuLnUtYmctaGVyaXRhZ2UtYmx1ZS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzQ4ZWM2OyB9XG5cbi51LWJnLWhlcml0YWdlLW5hdnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQzMTVFICFpbXBvcnRhbnQ7IH1cblxuLnUtaGVyaXRhZ2UtbmF2eSB7XG4gIGNvbG9yOiAjMTQzMTVFICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctaGVyaXRhZ2UtbmF2eS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjljMWNmOyB9XG5cbi51LWJnLWhlcml0YWdlLW5hdnktLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOThhZjsgfVxuXG4udS1iZy1oZXJpdGFnZS1uYXZ5LS03MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YjZmOGU7IH1cblxuLnUtYmctaGVyaXRhZ2UtYmVycnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUQxRTY1ICFpbXBvcnRhbnQ7IH1cblxuLnUtaGVyaXRhZ2UtYmVycnkge1xuICBjb2xvcjogIzlEMUU2NSAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWhlcml0YWdlLWJlcnJ5LS0zMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmJjZDE7IH1cblxuLnUtYmctaGVyaXRhZ2UtYmVycnktLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NlOGZiMjsgfVxuXG4udS1iZy1oZXJpdGFnZS1iZXJyeS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmE2MjkzOyB9XG5cbi51LWJnLWhlcml0YWdlLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMTAwNkYgIWltcG9ydGFudDsgfVxuXG4udS1oZXJpdGFnZS1wdXJwbGUge1xuICBjb2xvcjogIzMxMDA2RiAhaW1wb3J0YW50OyB9XG5cbi51LWJnLWhlcml0YWdlLXB1cnBsZS0tMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFiM2Q0OyB9XG5cbi51LWJnLWhlcml0YWdlLXB1cnBsZS0tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTg4MGI3OyB9XG5cbi51LWJnLWhlcml0YWdlLXB1cnBsZS0tNzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmY0ZDlhOyB9XG5cbi51LWJnLWdyZXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0ICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctZ3JleS0tZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWU5ZTggIWltcG9ydGFudDsgfVxuXG4udS1iZy1ncmV5LS1kYXJrZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRjICFpbXBvcnRhbnQ7IH1cblxuLnUtYmctZW5lcmd5LXRlYWwtLTE1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRlZiAhaW1wb3J0YW50OyB9XG5cbi51LXdoaXRlLS1hbGwgKixcbi51LXdoaXRlLS1hbGwgKjphZnRlcixcbi51LXdoaXRlLS1hbGwgKjpob3ZlciB7XG4gIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cblxuLnUtd2hpdGUtLWFsbCBhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4udS13aGl0ZS0tYWxsIC5jLXd5c2l3eWctY29udGVudCBsaSBhLFxuLnUtd2hpdGUtLWFsbCBsaSBhLFxuLnUtd2hpdGUtLWFsbCBwIGEge1xuICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cblxuLyoqXG4gKiBCZWNhdXNlIGZhbHNlIGlzbuKAmXQgYSB2YWxpZCB2YWx1ZSBmb3Igei1pbmRleCwgd2UgZG9u4oCZdCB3YW50IGl0IGluIG91ciBjb21waWxlZFxuICogY29kZS4gV2UgY2FuIHN0b3AgdGhpcyBmcm9tIGhhcHBlbmluZyBieSBtYWtpbmcgYSBjdXN0b20gZnVuY3Rpb24gdGhhdCBhY3RzIGFzXG4gKiBhIHByb3h5IHRvIHRoZSBjYWxsIHRvIGxpc3QgYW5kIHRoYXQgdXNlcyBTYXNz4oCZIEB3YXJuIHRvIHRlbGwgdXMgd2hldGhlciBzb21ldGhpbmdcbiAqIGhhcyBnb25lIHdyb25nLlxuICogRXhhbXBsZSB1c2FnZTogeigkei1pbmRleC1lbGVtZW50cywgaG9tZXBhZ2UtbWFzdGhlYWQtdmlkZSlcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLFxuICAuc2xpY2stbmV4dDpob3ZlcixcbiAgLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc3LjVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjM0EzQzM5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzcuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLXBhZGRlZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lci1wYWRkZWQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiBzbWFsbC1zaHJpbmssIC5ncmlkLXggPiBzbWFsbC1mdWxsLCAuZ3JpZC14ID4gc21hbGwtMSwgLmdyaWQteCA+IHNtYWxsLTIsIC5ncmlkLXggPiBzbWFsbC0zLCAuZ3JpZC14ID4gc21hbGwtNCwgLmdyaWQteCA+IHNtYWxsLTUsIC5ncmlkLXggPiBzbWFsbC02LCAuZ3JpZC14ID4gc21hbGwtNywgLmdyaWQteCA+IHNtYWxsLTgsIC5ncmlkLXggPiBzbWFsbC05LCAuZ3JpZC14ID4gc21hbGwtMTAsIC5ncmlkLXggPiBzbWFsbC0xMSwgLmdyaWQteCA+IHNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gbWVkaXVtLXNocmluaywgLmdyaWQteCA+IG1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gbWVkaXVtLTEsIC5ncmlkLXggPiBtZWRpdW0tMiwgLmdyaWQteCA+IG1lZGl1bS0zLCAuZ3JpZC14ID4gbWVkaXVtLTQsIC5ncmlkLXggPiBtZWRpdW0tNSwgLmdyaWQteCA+IG1lZGl1bS02LCAuZ3JpZC14ID4gbWVkaXVtLTcsIC5ncmlkLXggPiBtZWRpdW0tOCwgLmdyaWQteCA+IG1lZGl1bS05LCAuZ3JpZC14ID4gbWVkaXVtLTEwLCAuZ3JpZC14ID4gbWVkaXVtLTExLCAuZ3JpZC14ID4gbWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IGxhcmdlLXNocmluaywgLmdyaWQteCA+IGxhcmdlLWZ1bGwsIC5ncmlkLXggPiBsYXJnZS0xLCAuZ3JpZC14ID4gbGFyZ2UtMiwgLmdyaWQteCA+IGxhcmdlLTMsIC5ncmlkLXggPiBsYXJnZS00LCAuZ3JpZC14ID4gbGFyZ2UtNSwgLmdyaWQteCA+IGxhcmdlLTYsIC5ncmlkLXggPiBsYXJnZS03LCAuZ3JpZC14ID4gbGFyZ2UtOCwgLmdyaWQteCA+IGxhcmdlLTksIC5ncmlkLXggPiBsYXJnZS0xMCwgLmdyaWQteCA+IGxhcmdlLTExLCAuZ3JpZC14ID4gbGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLmdyaWQteCA+IHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiB4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IHhsYXJnZS0xLCAuZ3JpZC14ID4geGxhcmdlLTIsIC5ncmlkLXggPiB4bGFyZ2UtMywgLmdyaWQteCA+IHhsYXJnZS00LCAuZ3JpZC14ID4geGxhcmdlLTUsIC5ncmlkLXggPiB4bGFyZ2UtNiwgLmdyaWQteCA+IHhsYXJnZS03LCAuZ3JpZC14ID4geGxhcmdlLTgsIC5ncmlkLXggPiB4bGFyZ2UtOSwgLmdyaWQteCA+IHhsYXJnZS0xMCwgLmdyaWQteCA+IHhsYXJnZS0xMSwgLmdyaWQteCA+IHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IHh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4geHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4geHhsYXJnZS0xLCAuZ3JpZC14ID4geHhsYXJnZS0yLCAuZ3JpZC14ID4geHhsYXJnZS0zLCAuZ3JpZC14ID4geHhsYXJnZS00LCAuZ3JpZC14ID4geHhsYXJnZS01LCAuZ3JpZC14ID4geHhsYXJnZS02LCAuZ3JpZC14ID4geHhsYXJnZS03LCAuZ3JpZC14ID4geHhsYXJnZS04LCAuZ3JpZC14ID4geHhsYXJnZS05LCAuZ3JpZC14ID4geHhsYXJnZS0xMCwgLmdyaWQteCA+IHh4bGFyZ2UtMTEsIC5ncmlkLXggPiB4eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjg3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzLjc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDMuNzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS44NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS44NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjg3NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS44NzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuODc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjg3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gc21hbGwtZnVsbCwgLmdyaWQteSA+IHNtYWxsLTEsIC5ncmlkLXkgPiBzbWFsbC0yLCAuZ3JpZC15ID4gc21hbGwtMywgLmdyaWQteSA+IHNtYWxsLTQsIC5ncmlkLXkgPiBzbWFsbC01LCAuZ3JpZC15ID4gc21hbGwtNiwgLmdyaWQteSA+IHNtYWxsLTcsIC5ncmlkLXkgPiBzbWFsbC04LCAuZ3JpZC15ID4gc21hbGwtOSwgLmdyaWQteSA+IHNtYWxsLTEwLCAuZ3JpZC15ID4gc21hbGwtMTEsIC5ncmlkLXkgPiBzbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiBtZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gbWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiBtZWRpdW0tMSwgLmdyaWQteSA+IG1lZGl1bS0yLCAuZ3JpZC15ID4gbWVkaXVtLTMsIC5ncmlkLXkgPiBtZWRpdW0tNCwgLmdyaWQteSA+IG1lZGl1bS01LCAuZ3JpZC15ID4gbWVkaXVtLTYsIC5ncmlkLXkgPiBtZWRpdW0tNywgLmdyaWQteSA+IG1lZGl1bS04LCAuZ3JpZC15ID4gbWVkaXVtLTksIC5ncmlkLXkgPiBtZWRpdW0tMTAsIC5ncmlkLXkgPiBtZWRpdW0tMTEsIC5ncmlkLXkgPiBtZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IGxhcmdlLXNocmluaywgLmdyaWQteSA+IGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiBsYXJnZS0xLCAuZ3JpZC15ID4gbGFyZ2UtMiwgLmdyaWQteSA+IGxhcmdlLTMsIC5ncmlkLXkgPiBsYXJnZS00LCAuZ3JpZC15ID4gbGFyZ2UtNSwgLmdyaWQteSA+IGxhcmdlLTYsIC5ncmlkLXkgPiBsYXJnZS03LCAuZ3JpZC15ID4gbGFyZ2UtOCwgLmdyaWQteSA+IGxhcmdlLTksIC5ncmlkLXkgPiBsYXJnZS0xMCwgLmdyaWQteSA+IGxhcmdlLTExLCAuZ3JpZC15ID4gbGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAgIC5ncmlkLXkgPiB4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4geGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiB4bGFyZ2UtMSwgLmdyaWQteSA+IHhsYXJnZS0yLCAuZ3JpZC15ID4geGxhcmdlLTMsIC5ncmlkLXkgPiB4bGFyZ2UtNCwgLmdyaWQteSA+IHhsYXJnZS01LCAuZ3JpZC15ID4geGxhcmdlLTYsIC5ncmlkLXkgPiB4bGFyZ2UtNywgLmdyaWQteSA+IHhsYXJnZS04LCAuZ3JpZC15ID4geGxhcmdlLTksIC5ncmlkLXkgPiB4bGFyZ2UtMTAsIC5ncmlkLXkgPiB4bGFyZ2UtMTEsIC5ncmlkLXkgPiB4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC15ID4geHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiB4eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiB4eGxhcmdlLTEsIC5ncmlkLXkgPiB4eGxhcmdlLTIsIC5ncmlkLXkgPiB4eGxhcmdlLTMsIC5ncmlkLXkgPiB4eGxhcmdlLTQsIC5ncmlkLXkgPiB4eGxhcmdlLTUsIC5ncmlkLXkgPiB4eGxhcmdlLTYsIC5ncmlkLXkgPiB4eGxhcmdlLTcsIC5ncmlkLXkgPiB4eGxhcmdlLTgsIC5ncmlkLXkgPiB4eGxhcmdlLTksIC5ncmlkLXkgPiB4eGxhcmdlLTEwLCAuZ3JpZC15ID4geHhsYXJnZS0xMSwgLmdyaWQteSA+IHh4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0xLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuNzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMy43NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlwZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDA2OTM4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwNWEzMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzcuNXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMzQTNDMzk7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjM0EzQzM5OyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMzQTNDMzk7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDU4LCA2MCwgNTcsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjM0EzQzM5O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjM0EzQzM5OyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzQTNDMzk7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzNBM0MzOTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjM0EzQzM5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDEuMWVtIDFlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OTM4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1OTMwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU0MmQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5saWdodC1taW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzViZmI3O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5saWdodC1taW5rOmhvdmVyLCAuYnV0dG9uLmxpZ2h0LW1pbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EzOWE4ZDtcbiAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5idXR0b24ubWVkaXVtLW1pbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzZlNjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLm1lZGl1bS1taW5rOmhvdmVyLCAuYnV0dG9uLm1lZGl1bS1taW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjU4NTA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRhcmstbWluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3M2EzNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGFyay1taW5rOmhvdmVyLCAuYnV0dG9uLmRhcmstbWluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyZTJiO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5lbmVyZ3ktZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4RUJCMzg7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgICAuYnV0dG9uLmVuZXJneS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5lbmVyZ3ktZ3JlZW46Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzcyOTYyZDtcbiAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5idXR0b24uZW5lcmd5LWxpZ2h0LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTRCQ0FCO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5lbmVyZ3ktbGlnaHQtZ3JlZW46aG92ZXIsIC5idXR0b24uZW5lcmd5LWxpZ2h0LWdyZWVuOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3YjllODY7XG4gICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuYnV0dG9uLmVuZXJneS10ZWFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4ODk0O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5lbmVyZ3ktdGVhbDpob3ZlciwgLmJ1dHRvbi5lbmVyZ3ktdGVhbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2ZDc2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5lbmVyZ3kteWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdDMzExO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5lbmVyZ3kteWVsbG93OmhvdmVyLCAuYnV0dG9uLmVuZXJneS15ZWxsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5OWMwZTtcbiAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5idXR0b24uZW5lcmd5LW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q0NzYyRjtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZW5lcmd5LW9yYW5nZTpob3ZlciwgLmJ1dHRvbi5lbmVyZ3ktb3JhbmdlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYzVlMjM7XG4gICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuYnV0dG9uLmVuZXJneS1saWdodC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0VCMkUyO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5lbmVyZ3ktbGlnaHQtYmx1ZTpob3ZlciwgLmJ1dHRvbi5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU5MGQ1O1xuICAgICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmJ1dHRvbi5lbmVyZ3ktYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU2N0NDNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZW5lcmd5LWJsdWU6aG92ZXIsIC5idXR0b24uZW5lcmd5LWJsdWU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5NjBhYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZW5lcmd5LXBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCNjFCNjY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmVuZXJneS1waW5rOmhvdmVyLCAuYnV0dG9uLmVuZXJneS1waW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MjE2NTI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmVuZXJneS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MDMwN0Y7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmVuZXJneS1wdXJwbGU6aG92ZXIsIC5idXR0b24uZW5lcmd5LXB1cnBsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDAyNjY2O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uaGVyaXRhZ2UtZ3JlZW46aG92ZXIsIC5idXR0b24uaGVyaXRhZ2UtZ3JlZW46Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTQyZDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaGVyaXRhZ2UtZ3JlZW4tYWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk3MDUzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIsIC5idXR0b24uaGVyaXRhZ2UtZ3JlZW4tYWx0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYTVhNDI7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhlcml0YWdlLXRlYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVlNkE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmhlcml0YWdlLXRlYWw6aG92ZXIsIC5idXR0b24uaGVyaXRhZ2UtdGVhbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0YjU1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQkE5MUI7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgICAuYnV0dG9uLmhlcml0YWdlLXllbGxvdzpob3ZlciwgLmJ1dHRvbi5oZXJpdGFnZS15ZWxsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FmODcxNjtcbiAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5idXR0b24uaGVyaXRhZ2Utb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzM0NjE0O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5oZXJpdGFnZS1vcmFuZ2U6aG92ZXIsIC5idXR0b24uaGVyaXRhZ2Utb3JhbmdlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YzM4MTA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhlcml0YWdlLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzVEQUE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmhlcml0YWdlLWJsdWU6aG92ZXIsIC5idXR0b24uaGVyaXRhZ2UtYmx1ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk0YTg4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1uYXZ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkU0NDg3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5oZXJpdGFnZS1uYXZ5OmhvdmVyLCAuYnV0dG9uLmhlcml0YWdlLW5hdnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MzY2YztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaGVyaXRhZ2UtYmVycnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjI2NTY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmhlcml0YWdlLWJlcnJ5OmhvdmVyLCAuYnV0dG9uLmhlcml0YWdlLWJlcnJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MjFlNDU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhlcml0YWdlLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxMDA2RjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uaGVyaXRhZ2UtcHVycGxlOmhvdmVyLCAuYnV0dG9uLmhlcml0YWdlLXB1cnBsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcwMDU5O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQubGlnaHQtbWluaywgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQtbWluayB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5saWdodC1taW5rLCAuYnV0dG9uLmRpc2FibGVkLmxpZ2h0LW1pbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQubGlnaHQtbWluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQtbWluaywgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQtbWluazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ubGlnaHQtbWluazpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNWJmYjc7XG4gICAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5tZWRpdW0tbWluaywgLmJ1dHRvbltkaXNhYmxlZF0ubWVkaXVtLW1pbmsge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQubWVkaXVtLW1pbmssIC5idXR0b24uZGlzYWJsZWQubWVkaXVtLW1pbms6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQubWVkaXVtLW1pbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLm1lZGl1bS1taW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5tZWRpdW0tbWluazpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ubWVkaXVtLW1pbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc2ZTY0O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZGFyay1taW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5kYXJrLW1pbmsge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZGFyay1taW5rLCAuYnV0dG9uLmRpc2FibGVkLmRhcmstbWluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5kYXJrLW1pbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmRhcmstbWluaywgLmJ1dHRvbltkaXNhYmxlZF0uZGFyay1taW5rOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5kYXJrLW1pbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzczYTM2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWdyZWVuLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktZ3JlZW4ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWdyZWVuLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktZ3JlZW46Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1ncmVlbiwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LWdyZWVuOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktZ3JlZW46Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVCQjM4O1xuICAgICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWxpZ2h0LWdyZWVuLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktbGlnaHQtZ3JlZW4ge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWxpZ2h0LWdyZWVuLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1saWdodC1ncmVlbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktbGlnaHQtZ3JlZW46Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1saWdodC1ncmVlbiwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LWxpZ2h0LWdyZWVuOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktbGlnaHQtZ3JlZW46Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTRCQ0FCO1xuICAgICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LXRlYWwsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS10ZWFsIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS10ZWFsLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS10ZWFsOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS10ZWFsOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktdGVhbCwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LXRlYWw6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS10ZWFsOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODg5NDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS15ZWxsb3csIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS15ZWxsb3cge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LXllbGxvdywgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3kteWVsbG93OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS15ZWxsb3c6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS15ZWxsb3csIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS15ZWxsb3c6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS15ZWxsb3c6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdDMzExO1xuICAgICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LW9yYW5nZSwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LW9yYW5nZSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktb3JhbmdlLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1vcmFuZ2U6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LW9yYW5nZTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LW9yYW5nZSwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LW9yYW5nZTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LW9yYW5nZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNENDc2MkY7XG4gICAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktbGlnaHQtYmx1ZSwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LWxpZ2h0LWJsdWUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWxpZ2h0LWJsdWUsIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWxpZ2h0LWJsdWU6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWxpZ2h0LWJsdWU6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1saWdodC1ibHVlLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktbGlnaHQtYmx1ZTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LWxpZ2h0LWJsdWU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0VCMkUyO1xuICAgICAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LWJsdWUsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1ibHVlIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1ibHVlLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1ibHVlOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1ibHVlOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktYmx1ZSwgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LWJsdWU6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1ibHVlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU2N0NDNjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1waW5rLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcGluayB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktcGluaywgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktcGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktcGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uZW5lcmd5LXBpbmssIC5idXR0b25bZGlzYWJsZWRdLmVuZXJneS1waW5rOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcGluazpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNjFCNjY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktcHVycGxlLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcHVycGxlIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmVuZXJneS1wdXJwbGUsIC5idXR0b24uZGlzYWJsZWQuZW5lcmd5LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5lbmVyZ3ktcHVycGxlOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcHVycGxlLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcHVycGxlOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5lbmVyZ3ktcHVycGxlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzUwMzA3RjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLWdyZWVuLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1ncmVlbiB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ncmVlbiwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ncmVlbjpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtZ3JlZW4sIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWdyZWVuOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1ncmVlbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY5Mzg7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ncmVlbi1hbHQsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWdyZWVuLWFsdCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ncmVlbi1hbHQsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtZ3JlZW4tYWx0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtZ3JlZW4tYWx0LCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTcwNTM7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS10ZWFsLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS10ZWFsIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLXRlYWwsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtdGVhbDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS10ZWFsOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS10ZWFsLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS10ZWFsOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS10ZWFsOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWU2QTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLXllbGxvdywgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UteWVsbG93IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLXllbGxvdywgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS15ZWxsb3c6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UteWVsbG93OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS15ZWxsb3csIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLXllbGxvdzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UteWVsbG93OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCQTkxQjtcbiAgICAgICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLW9yYW5nZSwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2Utb3JhbmdlIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLW9yYW5nZSwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1vcmFuZ2U6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2Utb3JhbmdlOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1vcmFuZ2UsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLW9yYW5nZTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2Utb3JhbmdlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0MzNDYxNDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLWJsdWUsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWJsdWUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtYmx1ZSwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1ibHVlOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLWJsdWU6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWJsdWUsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWJsdWU6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWJsdWU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDc1REFBO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtbmF2eSwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtbmF2eSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1uYXZ5LCAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLW5hdnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtbmF2eTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtbmF2eSwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtbmF2eTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtbmF2eTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyRTQ0ODc7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1iZXJyeSwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtYmVycnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtYmVycnksIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtYmVycnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtYmVycnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLWJlcnJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1iZXJyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtYmVycnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjYyNjU2O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtcHVycGxlLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1wdXJwbGUge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuaGVyaXRhZ2UtcHVycGxlLCAuYnV0dG9uLmRpc2FibGVkLmhlcml0YWdlLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5oZXJpdGFnZS1wdXJwbGU6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmhlcml0YWdlLXB1cnBsZSwgLmJ1dHRvbltkaXNhYmxlZF0uaGVyaXRhZ2UtcHVycGxlOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5oZXJpdGFnZS1wdXJwbGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzEwMDZGO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwNjkzODtcbiAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMzUxYztcbiAgICAgIGNvbG9yOiAjMDAzNTFjOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNjkzODtcbiAgICAgICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5Mzg7XG4gICAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMzUxYztcbiAgICAgICAgY29sb3I6ICMwMDM1MWM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2OTM4O1xuICAgICAgICAgIGNvbG9yOiAjMDA2OTM4OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LW1pbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M1YmZiNztcbiAgICAgIGNvbG9yOiAjYzViZmI3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5saWdodC1taW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5saWdodC1taW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjk2MDU1O1xuICAgICAgICBjb2xvcjogIzY5NjA1NTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5saWdodC1taW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5saWdodC1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cubGlnaHQtbWluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cubGlnaHQtbWluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNWJmYjc7XG4gICAgICAgICAgY29sb3I6ICNjNWJmYjc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5tZWRpdW0tbWluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc2ZTY0O1xuICAgICAgY29sb3I6ICM3NzZlNjQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm1lZGl1bS1taW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5tZWRpdW0tbWluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNjMzczMjtcbiAgICAgICAgY29sb3I6ICMzYzM3MzI7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cubWVkaXVtLW1pbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lm1lZGl1bS1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cubWVkaXVtLW1pbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lm1lZGl1bS1taW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3NmU2NDtcbiAgICAgICAgICBjb2xvcjogIzc3NmU2NDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRhcmstbWluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzczYTM2O1xuICAgICAgY29sb3I6ICMzNzNhMzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRhcmstbWluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFyay1taW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWMxZDFiO1xuICAgICAgICBjb2xvcjogIzFjMWQxYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5kYXJrLW1pbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRhcmstbWluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRhcmstbWluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGFyay1taW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM3M2EzNjtcbiAgICAgICAgICBjb2xvcjogIzM3M2EzNjsgfVxuICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1ncmVlbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOEVCQjM4O1xuICAgICAgY29sb3I6ICM4RUJCMzg7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWdyZWVuOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDc1ZTFjO1xuICAgICAgICBjb2xvcjogIzQ3NWUxYzsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktZ3JlZW46aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVuZXJneS1ncmVlbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWdyZWVuOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzhFQkIzODtcbiAgICAgICAgICBjb2xvcjogIzhFQkIzODsgfVxuICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ncmVlbiB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQTRCQ0FCO1xuICAgICAgY29sb3I6ICNBNEJDQUI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ncmVlbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWdyZWVuOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGI2NTUyO1xuICAgICAgICBjb2xvcjogIzRiNjU1MjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktbGlnaHQtZ3JlZW46aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ncmVlbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWdyZWVuOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0E0QkNBQjtcbiAgICAgICAgICBjb2xvcjogI0E0QkNBQjsgfVxuICAgIC5idXR0b24uaG9sbG93LmVuZXJneS10ZWFsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDg4OTQ7XG4gICAgICBjb2xvcjogIzAwODg5NDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXRlYWw6aG92ZXIsIC5idXR0b24uaG9sbG93LmVuZXJneS10ZWFsOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0NDRhO1xuICAgICAgICBjb2xvcjogIzAwNDQ0YTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktdGVhbDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXRlYWw6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktdGVhbDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXRlYWw6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA4ODk0O1xuICAgICAgICAgIGNvbG9yOiAjMDA4ODk0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXllbGxvdyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTdDMzExO1xuICAgICAgY29sb3I6ICNFN0MzMTE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS15ZWxsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93LmVuZXJneS15ZWxsb3c6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDYyMDk7XG4gICAgICAgIGNvbG9yOiAjNzQ2MjA5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS15ZWxsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS15ZWxsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3kteWVsbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3kteWVsbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U3QzMxMTtcbiAgICAgICAgICBjb2xvcjogI0U3QzMxMTsgfVxuICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1vcmFuZ2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0Q0NzYyRjtcbiAgICAgIGNvbG9yOiAjRDQ3NjJGOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktb3JhbmdlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmIzYjE2O1xuICAgICAgICBjb2xvcjogIzZiM2IxNjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktb3JhbmdlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktb3JhbmdlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LW9yYW5nZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LW9yYW5nZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNENDc2MkY7XG4gICAgICAgICAgY29sb3I6ICNENDc2MkY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktbGlnaHQtYmx1ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjN0VCMkUyO1xuICAgICAgY29sb3I6ICM3RUIyRTI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ibHVlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzIwNWE5MDtcbiAgICAgICAgY29sb3I6ICMyMDVhOTA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWJsdWU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ibHVlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWJsdWU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS1saWdodC1ibHVlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdFQjJFMjtcbiAgICAgICAgICBjb2xvcjogIzdFQjJFMjsgfVxuICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1ibHVlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NjdDQzY7XG4gICAgICBjb2xvcjogIzU2N0NDNjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93LmVuZXJneS1ibHVlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjQzYzZhO1xuICAgICAgICBjb2xvcjogIzI0M2M2YTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktYmx1ZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWJsdWU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktYmx1ZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LWJsdWU6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTY3Q0M2O1xuICAgICAgICAgIGNvbG9yOiAjNTY3Q0M2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXBpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0I2MUI2NjtcbiAgICAgIGNvbG9yOiAjQjYxQjY2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktcGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXBpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM1YjBlMzM7XG4gICAgICAgIGNvbG9yOiAjNWIwZTMzOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmVuZXJneS1waW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktcGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVuZXJneS1waW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktcGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNjFCNjY7XG4gICAgICAgICAgY29sb3I6ICNCNjFCNjY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5lbmVyZ3ktcHVycGxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1MDMwN0Y7XG4gICAgICBjb2xvcjogIzUwMzA3RjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXB1cnBsZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI4MTg0MDtcbiAgICAgICAgY29sb3I6ICMyODE4NDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXB1cnBsZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZW5lcmd5LXB1cnBsZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmVuZXJneS1wdXJwbGU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmVuZXJneS1wdXJwbGU6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTAzMDdGO1xuICAgICAgICAgIGNvbG9yOiAjNTAzMDdGOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtZ3JlZW4ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNjkzODtcbiAgICAgIGNvbG9yOiAjMDA2OTM4OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtZ3JlZW46Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDM1MWM7XG4gICAgICAgIGNvbG9yOiAjMDAzNTFjOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWdyZWVuOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWdyZWVuOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5Mzg7XG4gICAgICAgICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbi1hbHQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ5NzA1MztcbiAgICAgIGNvbG9yOiAjNDk3MDUzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI1MzgyYTtcbiAgICAgICAgY29sb3I6ICMyNTM4MmE7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtZ3JlZW4tYWx0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ncmVlbi1hbHQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTcwNTM7XG4gICAgICAgICAgY29sb3I6ICM0OTcwNTM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS10ZWFsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDVlNkE7XG4gICAgICBjb2xvcjogIzAwNWU2QTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtdGVhbDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtdGVhbDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMmYzNTtcbiAgICAgICAgY29sb3I6ICMwMDJmMzU7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtdGVhbDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtdGVhbDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXRlYWw6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXRlYWw6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA1ZTZBO1xuICAgICAgICAgIGNvbG9yOiAjMDA1ZTZBOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UteWVsbG93IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQkE5MUI7XG4gICAgICBjb2xvcjogI0RCQTkxQjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UteWVsbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS15ZWxsb3c6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZTU1MGU7XG4gICAgICAgIGNvbG9yOiAjNmU1NTBlOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXllbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UteWVsbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UteWVsbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS15ZWxsb3c6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjREJBOTFCO1xuICAgICAgICAgIGNvbG9yOiAjREJBOTFCOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2Utb3JhbmdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDMzQ2MTQ7XG4gICAgICBjb2xvcjogI0MzNDYxNDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2Utb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1vcmFuZ2U6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2MjIzMGE7XG4gICAgICAgIGNvbG9yOiAjNjIyMzBhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLW9yYW5nZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2Utb3JhbmdlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2Utb3JhbmdlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1vcmFuZ2U6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzM0NjE0O1xuICAgICAgICAgIGNvbG9yOiAjQzM0NjE0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtYmx1ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDc1REFBO1xuICAgICAgY29sb3I6ICM0NzVEQUE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJsdWU6aG92ZXIsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJsdWU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyNDJmNTU7XG4gICAgICAgIGNvbG9yOiAjMjQyZjU1OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJsdWU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJsdWU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ibHVlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1ibHVlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ3NURBQTtcbiAgICAgICAgICBjb2xvcjogIzQ3NURBQTsgfVxuICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLW5hdnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJFNDQ4NztcbiAgICAgIGNvbG9yOiAjMkU0NDg3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1uYXZ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1uYXZ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTcyMjQ0O1xuICAgICAgICBjb2xvcjogIzE3MjI0NDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1uYXZ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1uYXZ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtbmF2eTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtbmF2eTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRTQ0ODc7XG4gICAgICAgICAgY29sb3I6ICMyRTQ0ODc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1iZXJyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjYyNjU2O1xuICAgICAgY29sb3I6ICM2NjI2NTY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJlcnJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1iZXJyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzMzMTMyYjtcbiAgICAgICAgY29sb3I6ICMzMzEzMmI7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtYmVycnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJlcnJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtYmVycnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLWJlcnJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2MjY1NjtcbiAgICAgICAgICBjb2xvcjogIzY2MjY1NjsgfVxuICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXB1cnBsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzEwMDZGO1xuICAgICAgY29sb3I6ICMzMTAwNkY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtcHVycGxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTkwMDM4O1xuICAgICAgICBjb2xvcjogIzE5MDAzODsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5oZXJpdGFnZS1wdXJwbGU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXB1cnBsZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lmhlcml0YWdlLXB1cnBsZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuaGVyaXRhZ2UtcHVycGxlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMDA2RjtcbiAgICAgICAgICBjb2xvcjogIzMxMDA2RjsgfVxuICAuYnV0dG9uLmNsZWFyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2OTM4O1xuICAgIGNvbG9yOiAjMDA2OTM4OyB9XG4gICAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMzUxYztcbiAgICAgIGNvbG9yOiAjMDAzNTFjOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2OTM4O1xuICAgICAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2OTM4O1xuICAgICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAzNTFjO1xuICAgICAgICBjb2xvcjogIzAwMzUxYzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNjkzODtcbiAgICAgICAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgICAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNWJmYjc7XG4gICAgICBjb2xvcjogI2M1YmZiNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmxpZ2h0LW1pbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2OTYwNTU7XG4gICAgICAgIGNvbG9yOiAjNjk2MDU1OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIubGlnaHQtbWluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmxpZ2h0LW1pbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzViZmI3O1xuICAgICAgICAgIGNvbG9yOiAjYzViZmI3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmxpZ2h0LW1pbmssIC5idXR0b24uY2xlYXIubGlnaHQtbWluay5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmxpZ2h0LW1pbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIubGlnaHQtbWluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIubGlnaHQtbWluazpmb2N1cywgLmJ1dHRvbi5jbGVhci5saWdodC1taW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmxpZ2h0LW1pbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIubWVkaXVtLW1pbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3NmU2NDtcbiAgICAgIGNvbG9yOiAjNzc2ZTY0OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2MzNzMyO1xuICAgICAgICBjb2xvcjogIzNjMzczMjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5tZWRpdW0tbWluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5tZWRpdW0tbWluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3NzZlNjQ7XG4gICAgICAgICAgY29sb3I6ICM3NzZlNjQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIubWVkaXVtLW1pbmssIC5idXR0b24uY2xlYXIubWVkaXVtLW1pbmsuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIubWVkaXVtLW1pbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyLCAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLm1lZGl1bS1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5tZWRpdW0tbWluazpmb2N1cywgLmJ1dHRvbi5jbGVhci5tZWRpdW0tbWluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5tZWRpdW0tbWluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kYXJrLW1pbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzM3M2EzNjtcbiAgICAgIGNvbG9yOiAjMzczYTM2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmRhcmstbWluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5kYXJrLW1pbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYzFkMWI7XG4gICAgICAgIGNvbG9yOiAjMWMxZDFiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZGFyay1taW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRhcmstbWluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGFyay1taW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRhcmstbWluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNzNhMzY7XG4gICAgICAgICAgY29sb3I6ICMzNzNhMzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZGFyay1taW5rLCAuYnV0dG9uLmNsZWFyLmRhcmstbWluay5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kYXJrLW1pbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRhcmstbWluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5kYXJrLW1pbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGFyay1taW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kYXJrLW1pbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGFyay1taW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRhcmstbWluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktZ3JlZW4ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzhFQkIzODtcbiAgICAgIGNvbG9yOiAjOEVCQjM4OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktZ3JlZW46Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0NzVlMWM7XG4gICAgICAgIGNvbG9yOiAjNDc1ZTFjOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWdyZWVuOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LWdyZWVuOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM4RUJCMzg7XG4gICAgICAgICAgY29sb3I6ICM4RUJCMzg7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWdyZWVuLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbi5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktZ3JlZW5bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktZ3JlZW46aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LWdyZWVuOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktZ3JlZW46Zm9jdXMsIC5idXR0b24uY2xlYXIuZW5lcmd5LWdyZWVuOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ncmVlbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtZ3JlZW4ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0E0QkNBQjtcbiAgICAgIGNvbG9yOiAjQTRCQ0FCOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtZ3JlZW46Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0YjY1NTI7XG4gICAgICAgIGNvbG9yOiAjNGI2NTUyOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWdyZWVuOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWdyZWVuOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNBNEJDQUI7XG4gICAgICAgICAgY29sb3I6ICNBNEJDQUI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWdyZWVuLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbi5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtZ3JlZW5bZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtZ3JlZW46aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWdyZWVuOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtZ3JlZW46Zm9jdXMsIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWdyZWVuOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ncmVlbjpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktdGVhbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA4ODk0O1xuICAgICAgY29sb3I6ICMwMDg4OTQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDQ0NGE7XG4gICAgICAgIGNvbG9yOiAjMDA0NDRhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS10ZWFsOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS10ZWFsOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwODg5NDtcbiAgICAgICAgICBjb2xvcjogIzAwODg5NDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktdGVhbCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktdGVhbC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktdGVhbFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXRlYWw6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS10ZWFsOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmVuZXJneS10ZWFsOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS10ZWFsOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3cge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U3QzMxMTtcbiAgICAgIGNvbG9yOiAjRTdDMzExOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3c6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LXllbGxvdzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzc0NjIwOTtcbiAgICAgICAgY29sb3I6ICM3NDYyMDk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3kteWVsbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXllbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFN0MzMTE7XG4gICAgICAgICAgY29sb3I6ICNFN0MzMTE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LXllbGxvdywgLmJ1dHRvbi5jbGVhci5lbmVyZ3kteWVsbG93LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3c6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LXllbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3kteWVsbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3kteWVsbG93OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmVuZXJneS15ZWxsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXllbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNENDc2MkY7XG4gICAgICBjb2xvcjogI0Q0NzYyRjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1vcmFuZ2U6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2YjNiMTY7XG4gICAgICAgIGNvbG9yOiAjNmIzYjE2OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LW9yYW5nZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1vcmFuZ2U6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDQ3NjJGO1xuICAgICAgICAgIGNvbG9yOiAjRDQ3NjJGOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1vcmFuZ2UsIC5idXR0b24uY2xlYXIuZW5lcmd5LW9yYW5nZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1vcmFuZ2U6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LW9yYW5nZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LW9yYW5nZTpmb2N1cywgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktb3JhbmdlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1vcmFuZ2U6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWJsdWUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzdFQjJFMjtcbiAgICAgIGNvbG9yOiAjN0VCMkUyOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjA1YTkwO1xuICAgICAgICBjb2xvcjogIzIwNWE5MDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3RUIyRTI7XG4gICAgICAgICAgY29sb3I6ICM3RUIyRTI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWJsdWUsIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWJsdWUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LWxpZ2h0LWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1saWdodC1ibHVlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1cywgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktbGlnaHQtYmx1ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktYmx1ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTY3Q0M2O1xuICAgICAgY29sb3I6ICM1NjdDQzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyNDNjNmE7XG4gICAgICAgIGNvbG9yOiAjMjQzYzZhOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ibHVlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ibHVlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzU2N0NDNjtcbiAgICAgICAgICBjb2xvcjogIzU2N0NDNjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktYmx1ZSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktYmx1ZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktYmx1ZVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LWJsdWU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ibHVlOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ibHVlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1ibHVlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1waW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCNjFCNjY7XG4gICAgICBjb2xvcjogI0I2MUI2NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzViMGUzMztcbiAgICAgICAgY29sb3I6ICM1YjBlMzM7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LXBpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXBpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQjYxQjY2O1xuICAgICAgICAgIGNvbG9yOiAjQjYxQjY2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1waW5rLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1waW5rLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1waW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LXBpbms6Zm9jdXMsIC5idXR0b24uY2xlYXIuZW5lcmd5LXBpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXBpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTAzMDdGO1xuICAgICAgY29sb3I6ICM1MDMwN0Y7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcHVycGxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjgxODQwO1xuICAgICAgICBjb2xvcjogIzI4MTg0MDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmVuZXJneS1wdXJwbGU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcHVycGxlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzUwMzA3RjtcbiAgICAgICAgICBjb2xvcjogIzUwMzA3RjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcHVycGxlLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1wdXJwbGUuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcHVycGxlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1wdXJwbGU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmVuZXJneS1wdXJwbGU6Zm9jdXMsIC5idXR0b24uY2xlYXIuZW5lcmd5LXB1cnBsZTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5lbmVyZ3ktcHVycGxlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5Mzg7XG4gICAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMzUxYztcbiAgICAgICAgY29sb3I6ICMwMDM1MWM7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW46Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW46Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2OTM4O1xuICAgICAgICAgIGNvbG9yOiAjMDA2OTM4OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW46Zm9jdXMsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW46Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW46Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW4tYWx0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTcwNTM7XG4gICAgICBjb2xvcjogIzQ5NzA1MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW4tYWx0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjUzODJhO1xuICAgICAgICBjb2xvcjogIzI1MzgyYTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLWFsdDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk3MDUzO1xuICAgICAgICAgIGNvbG9yOiAjNDk3MDUzOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLWFsdCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW4tYWx0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW4tYWx0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLWFsdDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtZ3JlZW4tYWx0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWdyZWVuLWFsdDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ncmVlbi1hbHQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA1ZTZBO1xuICAgICAgY29sb3I6ICMwMDVlNkE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbDpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS10ZWFsOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAyZjM1O1xuICAgICAgICBjb2xvcjogIzAwMmYzNTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXRlYWw6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS10ZWFsOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwNWU2QTtcbiAgICAgICAgICBjb2xvcjogIzAwNWU2QTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS10ZWFsLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXRlYWwuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbDpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS10ZWFsOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXRlYWw6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXRlYWw6Zm9jdXMsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtdGVhbDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS10ZWFsOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXllbGxvdyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREJBOTFCO1xuICAgICAgY29sb3I6ICNEQkE5MUI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXllbGxvdzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZlNTUwZTtcbiAgICAgICAgY29sb3I6ICM2ZTU1MGU7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS15ZWxsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS15ZWxsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RCQTkxQjtcbiAgICAgICAgICBjb2xvcjogI0RCQTkxQjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS15ZWxsb3csIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXllbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXllbGxvdzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS15ZWxsb3c6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXllbGxvdzpmb2N1cywgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS15ZWxsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UteWVsbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW9yYW5nZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzM0NjE0O1xuICAgICAgY29sb3I6ICNDMzQ2MTQ7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW9yYW5nZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzYyMjMwYTtcbiAgICAgICAgY29sb3I6ICM2MjIzMGE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1vcmFuZ2U6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1vcmFuZ2U6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0MzNDYxNDtcbiAgICAgICAgICBjb2xvcjogI0MzNDYxNDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1vcmFuZ2UsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW9yYW5nZVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW9yYW5nZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1vcmFuZ2U6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW9yYW5nZTpmb2N1cywgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1vcmFuZ2U6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2Utb3JhbmdlOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ3NURBQTtcbiAgICAgIGNvbG9yOiAjNDc1REFBOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmx1ZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzI0MmY1NTtcbiAgICAgICAgY29sb3I6ICMyNDJmNTU7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ibHVlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWU6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmx1ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0NzVEQUE7XG4gICAgICAgICAgY29sb3I6ICM0NzVEQUE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmx1ZSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ibHVlLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWVbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWU6aG92ZXIsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmx1ZTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ibHVlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1ibHVlOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJsdWU6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmx1ZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRTQ0ODc7XG4gICAgICBjb2xvcjogIzJFNDQ4NzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW5hdnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNzIyNDQ7XG4gICAgICAgIGNvbG9yOiAjMTcyMjQ0OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtbmF2eTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW5hdnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMkU0NDg3O1xuICAgICAgICAgIGNvbG9yOiAjMkU0NDg3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW5hdnksIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtbmF2eS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW5hdnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtbmF2eTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtbmF2eTpmb2N1cywgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1uYXZ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLW5hdnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmVycnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2MjY1NjtcbiAgICAgIGNvbG9yOiAjNjYyNjU2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMxMzJiO1xuICAgICAgICBjb2xvcjogIzMzMTMyYjsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1iZXJyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1iZXJyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjI2NTY7XG4gICAgICAgICAgY29sb3I6ICM2NjI2NTY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmVycnksIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmVycnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtYmVycnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLWJlcnJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1iZXJyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1iZXJyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1iZXJyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1wdXJwbGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMxMDA2RjtcbiAgICAgIGNvbG9yOiAjMzEwMDZGOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1wdXJwbGU6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxOTAwMzg7XG4gICAgICAgIGNvbG9yOiAjMTkwMDM4OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtcHVycGxlOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtcHVycGxlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMTAwNkY7XG4gICAgICAgICAgY29sb3I6ICMzMTAwNkY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtcHVycGxlLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1wdXJwbGVbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZTpob3ZlciwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1wdXJwbGU6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtcHVycGxlOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5oZXJpdGFnZS1wdXJwbGU6Zm9jdXMsIC5idXR0b24uY2xlYXIuaGVyaXRhZ2UtcHVycGxlOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmhlcml0YWdlLXB1cnBsZTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA2OTM4OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA2OTM4OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmxpZ2h0LW1pbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYzViZmI3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lm1lZGl1bS1taW5rOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzc3NmU2NDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5kYXJrLW1pbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzczYTM2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmVuZXJneS1ncmVlbjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM4RUJCMzg7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWdyZWVuOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0E0QkNBQjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5lbmVyZ3ktdGVhbDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDg4OTQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW5lcmd5LXllbGxvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFN0MzMTE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW5lcmd5LW9yYW5nZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNENDc2MkY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW5lcmd5LWxpZ2h0LWJsdWU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjN0VCMkUyOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmVuZXJneS1ibHVlOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzU2N0NDNjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5lbmVyZ3ktcGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNCNjFCNjY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuZW5lcmd5LXB1cnBsZTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM1MDMwN0Y7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaGVyaXRhZ2UtZ3JlZW46OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDA2OTM4OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lmhlcml0YWdlLWdyZWVuLWFsdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0OTcwNTM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaGVyaXRhZ2UtdGVhbDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDVlNkE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuaGVyaXRhZ2UteWVsbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0RCQTkxQjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5oZXJpdGFnZS1vcmFuZ2U6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjQzM0NjE0OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lmhlcml0YWdlLWJsdWU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNDc1REFBOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lmhlcml0YWdlLW5hdnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMkU0NDg3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lmhlcml0YWdlLWJlcnJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzY2MjY1NjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5oZXJpdGFnZS1wdXJwbGU6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMzEwMDZGOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwNjkzODsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiAnKyc7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxMyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzQTNDMzk7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMDA2OTM4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UubGlnaHQtbWluayB7XG4gICAgYmFja2dyb3VuZDogI2M1YmZiNztcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuYmFkZ2UubWVkaXVtLW1pbmsge1xuICAgIGJhY2tncm91bmQ6ICM3NzZlNjQ7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLmRhcmstbWluayB7XG4gICAgYmFja2dyb3VuZDogIzM3M2EzNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuZW5lcmd5LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjOEVCQjM4O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5iYWRnZS5lbmVyZ3ktbGlnaHQtZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6ICNBNEJDQUI7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmJhZGdlLmVuZXJneS10ZWFsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4ODk0O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5lbmVyZ3kteWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kOiAjRTdDMzExO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5iYWRnZS5lbmVyZ3ktb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRDQ3NjJGO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5iYWRnZS5lbmVyZ3ktbGlnaHQtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzdFQjJFMjtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuYmFkZ2UuZW5lcmd5LWJsdWUge1xuICAgIGJhY2tncm91bmQ6ICM1NjdDQzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLmVuZXJneS1waW5rIHtcbiAgICBiYWNrZ3JvdW5kOiAjQjYxQjY2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5lbmVyZ3ktcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTAzMDdGO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5oZXJpdGFnZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuaGVyaXRhZ2UtZ3JlZW4tYWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAjNDk3MDUzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5oZXJpdGFnZS10ZWFsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1ZTZBO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5oZXJpdGFnZS15ZWxsb3cge1xuICAgIGJhY2tncm91bmQ6ICNEQkE5MUI7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmJhZGdlLmhlcml0YWdlLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogI0MzNDYxNDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuaGVyaXRhZ2UtYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzQ3NURBQTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuaGVyaXRhZ2UtbmF2eSB7XG4gICAgYmFja2dyb3VuZDogIzJFNDQ4NztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2UuaGVyaXRhZ2UtYmVycnkge1xuICAgIGJhY2tncm91bmQ6ICM2NjI2NTY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLmhlcml0YWdlLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZDogIzMxMDA2RjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMzQTNDMzk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OTM4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQubGlnaHQtbWluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M1YmZiNztcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuY2FsbG91dC5tZWRpdW0tbWluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NmU2NDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5kYXJrLW1pbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzNhMzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuZW5lcmd5LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGViYjM4O1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5jYWxsb3V0LmVuZXJneS1saWdodC1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E0YmNhYjtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICAuY2FsbG91dC5lbmVyZ3ktdGVhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODg5NDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5lbmVyZ3kteWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdjMzExO1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gIC5jYWxsb3V0LmVuZXJneS1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDc2MmY7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNhbGxvdXQuZW5lcmd5LWxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3ZWIyZTI7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNhbGxvdXQuZW5lcmd5LWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NjdjYzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuZW5lcmd5LXBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNjFiNjY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuZW5lcmd5LXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUwMzA3ZjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5oZXJpdGFnZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5oZXJpdGFnZS1ncmVlbi1hbHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTcwNTM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuaGVyaXRhZ2UtdGVhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWU2YTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5oZXJpdGFnZS15ZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmE5MWI7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNhbGxvdXQuaGVyaXRhZ2Utb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzM0NjE0O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jYWxsb3V0Lmhlcml0YWdlLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzVkYWE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuaGVyaXRhZ2UtbmF2eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJlNDQ4NztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5oZXJpdGFnZS1iZXJyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2MjY1NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuY2FsbG91dC5oZXJpdGFnZS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTAwNmY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueHhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNjkzODtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjM0EzQzM5O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzNBM0MzOSwgMCAxNHB4IDAgIzNBM0MzOTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjAsIDU3LCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjAsIDU3LCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY5Mzg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU5MzA7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA2MCwgNTcsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc3LjVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc3LjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzcuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3Ny41cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogIzNBM0MzOTsgfVxuICB0aGVhZCB0ciwgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLCB0aGVhZCB0ZCwgdGZvb3QgdGgsIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDY5Mzg7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDdkNDM7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzAwNjkzODsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICMwMDVhMzA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMDA2OTM4OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzNBM0MzOTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwOyB9XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc3LjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3Ny41ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzcuNWVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLyogS0lUQ0hFTiBTSU5LIENPTVBPTkVOVFMgKi9cbi8qKipcbkNvbG91ciBTd2F0Y2hlc1xuKioqL1xuLyoqKlxuNSBUaXBzXG4qKiovXG4uYy1maXZlLXRpcHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtZml2ZS10aXBzOmJlZm9yZSxcbi5jLWZpdmUtdGlwczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAzMXB4OyB9XG5cbi5jLWZpdmUtdGlwczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwcHg7XG4gIHotaW5kZXg6IDE7IH1cblxuLmMtZml2ZS10aXBzOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjNzZCRDIyO1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgIzc2QkQyMjtcbiAgbGVmdDogMTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5jLWZpdmUtdGlwc19fYmx1cmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDQxNTY4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiA3NXB4OyB9XG5cbi5jLWZpdmUtdGlwc19fYmx1cmI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENDE1Njg7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDk5OXB4O1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmMtZml2ZS10aXBzX19ibHVyYiA+IGRpdiB7XG4gIG1hcmdpbjogMCA0MHB4IDAgMDsgfVxuXG4uYy1maXZlLXRpcHNfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYy1maXZlLXRpcHNfX2l0ZW0ge1xuICBib3JkZXItdG9wOiAzcHggc29saWQgIzc2QkQyMjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jLWZpdmUtdGlwc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDc1cHg7IH1cblxuLmMtZml2ZS10aXBzX19ubyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNENDE1Njg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJGU01hamFcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogNzFweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgbWluLXdpZHRoOiA2MHB4O1xuICBtYXgtd2lkdGg6IDYwcHg7XG4gIHBhZGRpbmc6IDAgMjVweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1maXZlLXRpcHNfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuYy1maXZlLXRpcHNfX25vOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNENDE1Njg7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTAwJTtcbiAgd2lkdGg6IDYwcHg7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5jLWZpdmUtdGlwc19fdGlwIHtcbiAgbWFyZ2luOiAxNXB4IDAgNzBweCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1maXZlLXRpcHM6YmVmb3JlLFxuICAuYy1maXZlLXRpcHM6YWZ0ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmMtZml2ZS10aXBzX19ibHVyYiB7XG4gICAgcGFkZGluZzogNDBweCAxNXB4OyB9XG4gIC5jLWZpdmUtdGlwc19fYmx1cmI6YmVmb3JlLFxuICAuYy1maXZlLXRpcHNfX2JsdXJiOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDQxNTY4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuICAuYy1maXZlLXRpcHNfX2JsdXJiOmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jLWZpdmUtdGlwc19fbGlzdCB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAuYy1maXZlLXRpcHNfX25vIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwNjkzODsgfVxuICAuYy1maXZlLXRpcHNfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuYy1maXZlLXRpcHNfX25vOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWZpdmUtdGlwc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYy1maXZlLXRpcHNfX3RpcCB7XG4gICAgbWFyZ2luOiAxNXB4IDAgNDBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWZpdmUtdGlwc19fbm8ge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGNvbG9yOiAjM0EzQzM5O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM0EzQzM5O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBwLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBsaSwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgdGgsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuLnUtd2hpdGUtLWFsbCAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlOyB9XG5cbi51LXdoaXRlLS1hbGwgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYWNjb3JkaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLyoqKlxuQmxlZWQgRmVhdHVyZSBJbWFnZVxuKioqL1xuLmMtYmxlZWQtZmVhdHVyZV9fdGV4dC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDQwcHggMzNweDtcbiAgbWFyZ2luOiAxNDBweCAxNXB4IDA7XG4gIG1heC13aWR0aDogNTM0cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwOyB9XG5cbi5jLWJsZWVkLWZlYXR1cmUtLWltYWdlLXJpZ2h0IC5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmMtYmxlZWQtZmVhdHVyZV9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiA1MHB4O1xuICB3aWR0aDogNzMlOyB9XG5cbi5jLWJsZWVkLWZlYXR1cmVfX2ltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMzFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgIzNCNjkzODtcbiAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICMzQjY5Mzg7IH1cblxuLmMtYmxlZWQtZmVhdHVyZS0taW1hZ2UtcmlnaHQgLmMtYmxlZWQtZmVhdHVyZV9faW1hZ2Uge1xuICByaWdodDogMDtcbiAgbGVmdDogaW5pdGlhbDsgfVxuXG4uYy1ibGVlZC1mZWF0dXJlLS1pbWFnZS1yaWdodCAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZTpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzNCNjkzODtcbiAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICMzQjY5Mzg7IH1cblxuLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogNzUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYy1ibGVlZC1mZWF0dXJlX19jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDBweDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhlYmIzODsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA1MjBweDsgfVxuICAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgYm90dG9tOiA2NXB4O1xuICAgIHdpZHRoOiA3MiU7IH1cbiAgLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyOmJlZm9yZSB7XG4gICAgdG9wOiA1MHB4OyB9XG4gIC5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDgwcHggMTVweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7IH1cbiAgLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyOmJlZm9yZSB7XG4gICAgdG9wOiAxNTBweDsgfVxuICAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDM1JSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IC0xNXB4OyB9XG4gIC5jLWJsZWVkLWZlYXR1cmUtLWltYWdlLXJpZ2h0IC5jLWJsZWVkLWZlYXR1cmVfX2ltYWdlIHtcbiAgICByaWdodDogLTE1cHg7XG4gICAgbGVmdDogaW5pdGlhbDsgfVxuICAuYy1ibGVlZC1mZWF0dXJlLS1pbWFnZS1yaWdodCAuYy1ibGVlZC1mZWF0dXJlX190ZXh0LWNvbnRhaW5lcixcbiAgLmMtYmxlZWQtZmVhdHVyZV9fdGV4dC1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogaW5oZXJpdDtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAtNTBweCAxNXB4IDA7XG4gICAgcGFkZGluZzogMzBweCA0MHB4O1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZzogMzVweCAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5icmVhZGNydW1icyA+IGxpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icmVhZGNydW1icyA+IGxpOjphZnRlciB7XG4gICAgICBtYXJnaW46IDAgNXB4ICFpbXBvcnRhbnQ7IH1cblxuLmJyZWFkY3J1bWJzX19pdGVtLS1oYXMtc3VibWVudTo6YWZ0ZXIsXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51ID4gbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5ODFcIiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJ1b3NcIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnJlYWRjcnVtYnNfX2l0ZW0tLWhhcy1zdWJtZW51LmlzLWFjdGl2ZTo6YWZ0ZXIsXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51ID4gbGkuaXMtYWN0aXZlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTc5XCIgIWltcG9ydGFudDsgfVxuXG4uYnJlYWRjcnVtYnMgPiBsaSB7XG4gIG1hcmdpbjogMTBweCAzMHB4IDEwcHggMDsgfVxuICAuYnJlYWRjcnVtYnMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5icmVhZGNydW1icyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJyZWFkY3J1bWJzID4gbGk6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTk3YlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzNCNjkzODsgfVxuXG4uYnJlYWRjcnVtYnMgPiBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdiXCI7XG4gIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICBjb2xvcjogIzNCNjkzODtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5icmVhZGNydW1icyA+IGxpLmJyZWFkY3J1bWJzX19pdGVtLS1oYXMtc3VibWVudTo6YWZ0ZXIge1xuICBjb2xvcjogIzAwNjkzOCAhaW1wb3J0YW50OyB9XG5cbi5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwgYSxcbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgYSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwgPiBsaSxcbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIC5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwgPiBsaSA+IGEsXG4gIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuYnJlYWRjcnVtYnMuYnJlYWRjcnVtYnMtLWludGVybmFsID4gbGkgPiBhOmhvdmVyLFxuICAgIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudV9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMzQTNDMzk7IH1cbiAgLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSA+IGxpOjphZnRlciB7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4uYnJlYWRjcnVtYnMuYnJlYWRjcnVtYnMtLWludGVybmFsID4gbGkge1xuICBtYXJnaW46IDEwcHggMzBweCAxMHB4IDA7IH1cbiAgLmJyZWFkY3J1bWJzLmJyZWFkY3J1bWJzLS1pbnRlcm5hbCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwgPiBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgICBmb250LWZhbWlseTogXCJ1b3NcIjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnJlYWRjcnVtYnMuYnJlYWRjcnVtYnMtLWludGVybmFsID4gbGkuYnJlYWRjcnVtYnNfX2l0ZW0tLWhhcy1zdWJtZW51OjphZnRlciB7XG4gICAgY29sb3I6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5icmVhZGNydW1icyBsaSB1bCB7XG4gIGxlZnQ6IC0yNXB4OyB9XG5cbi5icmVhZGNydW1icyBsaSB1bCxcbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogOTtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nOiA1MHB4IDAgMjBweCAwO1xuICBtaW4td2lkdGg6IDMwY2g7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHVsOjphZnRlcixcbiAgLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSBsaSB1bDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC01cHg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMDA7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIC5icmVhZGNydW1icyBsaSB1bCBsaSxcbiAgLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSBsaSB1bCBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMnB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGkgdWwgbGk6OmFmdGVyLFxuICAgIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwgbGk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGkgdWwgbGkgLmN1cnJlbnRzZWN0aW9uLFxuICAgIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwgbGkgLmN1cnJlbnRzZWN0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2NhY2FjYTsgfVxuICAgIC5icmVhZGNydW1icyBsaSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlcixcbiAgICAuYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51IGxpIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSBsaSB1bCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuXG4uYnJlYWRjcnVtYnMgbGkgdWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0OyB9XG4gIC5icmVhZGNydW1icyBsaSB1bCBsaTpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHVsIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjY2FjYWNhO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwgbGkgdWwsXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51IGxpIHVsIHtcbiAgYmFja2dyb3VuZDogIzAwNjkzODsgfVxuICAuYnJlYWRjcnVtYnMuYnJlYWRjcnVtYnMtLWludGVybmFsIGxpIHVsIGEsXG4gIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwgYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJyZWFkY3J1bWJzID4gbGkuaXMtYWN0aXZlID4gdWwsXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51ID4gbGkuaXMtYWN0aXZlID4gdWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIFRoaXMgaXMgYmFzaWNhbGx5IGp1c3QgYSBjb3B5IGFuZCBwYXN0ZSBqb2IgZnJvbSBmb3VuZGF0aW9uLCBzb21lIGl0ZW1zIGFyZVxuICogY29tbWVudGVkIG91dC4gVG8gb3ZlcndyaXRlIGFueXRoaW5nLCB1bmNvbW1lbnQgYW5kIHJlLWRlY2xhcmUgdGhlIHN0eWxlc1xuICovXG4uYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgLyogZWFzZU91dFF1YXJ0ICovIH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBwYWRkaW5nOiAxLjFlbSAxZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgcGFkZGluZzogMS4xZW0gMWVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDY5cHggMjBweDsgfVxuICAuYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTk3YlwiO1xuICAgIGZvbnQtZmFtaWx5OiAndW9zJztcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idXR0b24ubm8tYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnV0dG9uLmJ1dHRvbi1nYXAtLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgLmJ1dHRvbi5idXR0b24tZ2FwLS1yaWdodDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5idXR0b24tZ2FwLS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAuYnV0dG9uLmJ1dHRvbi1nYXAtLWxlZnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjkzODtcbiAgICBjb2xvcjogIzAwNjkzODsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uYWxlcnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24ubGlnaHQtbWluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICNjNWJmYjc7XG4gICAgY29sb3I6ICNjNWJmYjc7IH1cbiAgLmJ1dHRvbi5tZWRpdW0tbWluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICM3NzZlNjQ7XG4gICAgY29sb3I6ICM3NzZlNjQ7IH1cbiAgLmJ1dHRvbi5kYXJrLW1pbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzczYTM2O1xuICAgIGNvbG9yOiAjMzczYTM2OyB9XG4gIC5idXR0b24uZW5lcmd5LWdyZWVuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogIzhFQkIzODtcbiAgICBjb2xvcjogIzhFQkIzODsgfVxuICAuYnV0dG9uLmVuZXJneS1saWdodC1ncmVlbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICNBNEJDQUI7XG4gICAgY29sb3I6ICNBNEJDQUI7IH1cbiAgLmJ1dHRvbi5lbmVyZ3ktdGVhbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICMwMDg4OTQ7XG4gICAgY29sb3I6ICMwMDg4OTQ7IH1cbiAgLmJ1dHRvbi5lbmVyZ3kteWVsbG93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogI0U3QzMxMTtcbiAgICBjb2xvcjogI0U3QzMxMTsgfVxuICAuYnV0dG9uLmVuZXJneS1vcmFuZ2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDQ3NjJGO1xuICAgIGNvbG9yOiAjRDQ3NjJGOyB9XG4gIC5idXR0b24uZW5lcmd5LWxpZ2h0LWJsdWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjN0VCMkUyO1xuICAgIGNvbG9yOiAjN0VCMkUyOyB9XG4gIC5idXR0b24uZW5lcmd5LWJsdWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTY3Q0M2O1xuICAgIGNvbG9yOiAjNTY3Q0M2OyB9XG4gIC5idXR0b24uZW5lcmd5LXBpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjQjYxQjY2O1xuICAgIGNvbG9yOiAjQjYxQjY2OyB9XG4gIC5idXR0b24uZW5lcmd5LXB1cnBsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICM1MDMwN0Y7XG4gICAgY29sb3I6ICM1MDMwN0Y7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1ncmVlbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICMwMDY5Mzg7XG4gICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1ncmVlbi1hbHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDk3MDUzO1xuICAgIGNvbG9yOiAjNDk3MDUzOyB9XG4gIC5idXR0b24uaGVyaXRhZ2UtdGVhbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICMwMDVlNkE7XG4gICAgY29sb3I6ICMwMDVlNkE7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS15ZWxsb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjREJBOTFCO1xuICAgIGNvbG9yOiAjREJBOTFCOyB9XG4gIC5idXR0b24uaGVyaXRhZ2Utb3JhbmdlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogI0MzNDYxNDtcbiAgICBjb2xvcjogI0MzNDYxNDsgfVxuICAuYnV0dG9uLmhlcml0YWdlLWJsdWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDc1REFBO1xuICAgIGNvbG9yOiAjNDc1REFBOyB9XG4gIC5idXR0b24uaGVyaXRhZ2UtbmF2eTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICMyRTQ0ODc7XG4gICAgY29sb3I6ICMyRTQ0ODc7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1iZXJyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICM2NjI2NTY7XG4gICAgY29sb3I6ICM2NjI2NTY7IH1cbiAgLmJ1dHRvbi5oZXJpdGFnZS1wdXJwbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzEwMDZGO1xuICAgIGNvbG9yOiAjMzEwMDZGOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uYy1sb25nLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgcGFkZGluZzogMTFweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jLWxvbmctYnV0dG9uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4OyB9XG5cbi5jLWxvbmctYnV0dG9uX19iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmMtY29udGFjdC1zZWN0aW9uIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmJ1dHRvbi54LWxhcmdlIHtcbiAgICBwYWRkaW5nOiAxOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWxvbmctYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9IH1cblxuLmMtZHJvcGRvd24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbi0tZHJvcGRvd24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbi0tZHJvcGRvd246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU5NzlcIjsgfVxuICAuYy1kcm9wZG93bi13cmFwcGVyIC5kcm9wZG93bi1wYW5lIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jLWRyb3Bkb3duLXdyYXBwZXIgLmRyb3Bkb3duLXBhbmUgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuYy1kcm9wZG93bi13cmFwcGVyIC5kcm9wZG93bi1wYW5lIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICMwMDY5Mzg7IH1cbiAgICAuYy1kcm9wZG93bi13cmFwcGVyIC5kcm9wZG93bi1wYW5lIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmMtdG9wLWVkZ2UtY2FsbG91dCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuYy10b3AtZWRnZS1jYWxsb3V0IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgLmMtdG9wLWVkZ2UtY2FsbG91dCAuY2xvc2UtYnV0dG9uIHtcbiAgICB0b3A6IGF1dG87XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLyoqKlxuQ29udGFjdCBVcyBTZWN0aW9uXG4qKiovXG4uYy1jb250YWN0LXNlY3Rpb24gaDIge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIG1hcmdpbjogMCAwIDYwcHggMDsgfVxuXG4uYy1jb250YWN0LXNlY3Rpb24gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBtYXJnaW46IDAgMTVweCAwIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLWNvbnRhY3Qtc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWNvbnRhY3Qtc2VjdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuLmMtZm9ybSBbdHlwZT0ndGV4dCddLCAuYy1mb3JtIFt0eXBlPSdwYXNzd29yZCddLFxuLmMtZm9ybSBbdHlwZT0nZGF0ZSddLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddLFxuLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgLmMtZm9ybSBbdHlwZT0nbW9udGgnXSxcbi5jLWZvcm0gW3R5cGU9J3dlZWsnXSwgLmMtZm9ybSBbdHlwZT0nZW1haWwnXSxcbi5jLWZvcm0gW3R5cGU9J251bWJlciddLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXSxcbi5jLWZvcm0gW3R5cGU9J3RlbCddLCAuYy1mb3JtIFt0eXBlPSd0aW1lJ10sXG4uYy1mb3JtIFt0eXBlPSd1cmwnXSwgLmMtZm9ybSBbdHlwZT0nY29sb3InXSxcbi5jLWZvcm0gdGV4dGFyZWEsIC5jLWZvcm0gc2VsZWN0LFxuLmMtZm9ybSBbdHlwZT0ndGV4dCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuLmMtZm9ybSBbdHlwZT0nZGF0ZSddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nbW9udGgnXTpmb2N1cyxcbi5jLWZvcm0gW3R5cGU9J3dlZWsnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nZW1haWwnXTpmb2N1cyxcbi5jLWZvcm0gW3R5cGU9J251bWJlciddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxcbi5jLWZvcm0gW3R5cGU9J3RlbCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSd0aW1lJ106Zm9jdXMsXG4uYy1mb3JtIFt0eXBlPSd1cmwnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nY29sb3InXTpmb2N1cyxcbi5jLWZvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jLWZvcm0gc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBtaW4taGVpZ2h0OiA3MHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cblxuLmMtZm9ybSB0ZXh0YXJlYSxcbi5jLWZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBwYWRkaW5nOiAyMHB4OyB9XG5cbi5jLWZvcm0gW3R5cGU9XCJzdWJtaXRcIl06bm90KC5jLWNvdXJzZS1zZWFyY2hfX2J1dHRvbikge1xuICBtYXJnaW46IDQwcHggMCA2MHB4OyB9XG5cbi5jLWZvcm0gbGFiZWwge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4uYy1mb3JtIGgyIHtcbiAgbWFyZ2luOiA2MHB4IDA7IH1cblxuLmMtZm9ybSBidXR0b24ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtZm9ybSBbdHlwZT0ndGV4dCddLCAuYy1mb3JtIFt0eXBlPSdwYXNzd29yZCddLFxuICAuYy1mb3JtIFt0eXBlPSdkYXRlJ10sIC5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lJ10sXG4gIC5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5jLWZvcm0gW3R5cGU9J21vbnRoJ10sXG4gIC5jLWZvcm0gW3R5cGU9J3dlZWsnXSwgLmMtZm9ybSBbdHlwZT0nZW1haWwnXSxcbiAgLmMtZm9ybSBbdHlwZT0nbnVtYmVyJ10sIC5jLWZvcm0gW3R5cGU9J3NlYXJjaCddLFxuICAuYy1mb3JtIFt0eXBlPSd0ZWwnXSwgLmMtZm9ybSBbdHlwZT0ndGltZSddLFxuICAuYy1mb3JtIFt0eXBlPSd1cmwnXSwgLmMtZm9ybSBbdHlwZT0nY29sb3InXSxcbiAgLmMtZm9ybSB0ZXh0YXJlYSwgLmMtZm9ybSBzZWxlY3QsXG4gIC5jLWZvcm0gW3R5cGU9J3RleHQnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcbiAgLmMtZm9ybSBbdHlwZT0nZGF0ZSddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuICAuYy1mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdtb250aCddOmZvY3VzLFxuICAuYy1mb3JtIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG4gIC5jLWZvcm0gW3R5cGU9J251bWJlciddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxcbiAgLmMtZm9ybSBbdHlwZT0ndGVsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J3RpbWUnXTpmb2N1cyxcbiAgLmMtZm9ybSBbdHlwZT0ndXJsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIC5jLWZvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jLWZvcm0gc2VsZWN0OmZvY3VzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWluLWhlaWdodDogNTJweDsgfVxuICAuYy1mb3JtIFt0eXBlPVwic3VibWl0XCJdOm5vdCguYy1jb3Vyc2Utc2VhcmNoX19idXR0b24pIHtcbiAgICBtYXJnaW46IDIwcHggMCA0MHB4OyB9XG4gIC5jLWZvcm0gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAuYy1mb3JtIGgyIHtcbiAgICBtYXJnaW46IDQwcHggMDsgfVxuICAuYy1mb3JtIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTNweCAyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWZvcm0gcCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5jLWZvcm0gW3R5cGU9J3RleHQnXSwgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgLmMtZm9ybSBbdHlwZT0nZGF0ZSddLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddLFxuICAuYy1mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAuYy1mb3JtIFt0eXBlPSdtb250aCddLFxuICAuYy1mb3JtIFt0eXBlPSd3ZWVrJ10sIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ10sXG4gIC5jLWZvcm0gW3R5cGU9J251bWJlciddLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXSxcbiAgLmMtZm9ybSBbdHlwZT0ndGVsJ10sIC5jLWZvcm0gW3R5cGU9J3RpbWUnXSxcbiAgLmMtZm9ybSBbdHlwZT0ndXJsJ10sIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ10sXG4gIC5jLWZvcm0gdGV4dGFyZWEsIC5jLWZvcm0gc2VsZWN0LFxuICAuYy1mb3JtIFt0eXBlPSd0ZXh0J106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsXG4gIC5jLWZvcm0gW3R5cGU9J2RhdGUnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcbiAgLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nbW9udGgnXTpmb2N1cyxcbiAgLmMtZm9ybSBbdHlwZT0nd2VlayddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuICAuYy1mb3JtIFt0eXBlPSdudW1iZXInXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG4gIC5jLWZvcm0gW3R5cGU9J3RlbCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSd0aW1lJ106Zm9jdXMsXG4gIC5jLWZvcm0gW3R5cGU9J3VybCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICAuYy1mb3JtIHRleHRhcmVhOmZvY3VzLCAuYy1mb3JtIHNlbGVjdDpmb2N1cyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7IH1cbiAgLmMtZm9ybSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5jLWZvcm0gYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA5cHggMjhweDsgfSB9XG5cbi8qKipcblBob3RvIEdhbGxlcmllc1xuKioqL1xuLmMtcGhvdG8tZ2FsbGVyeV9fdGh1bWIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTUlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDIzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXBob3RvLWdhbGxlcnkgLmNlbGwge1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfSB9XG5cbi8qXG5BY2NvbW1vZGF0aW9uIFBob3RvIEdhbGxlcnlcbioqKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1waG90by1nYWxsZXJ5X19hY2NvbW1vZGF0aW9uIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAzMHB4OyB9XG4gIC5jLXBob3RvLWdhbGxlcnlfX2FjY29tbW9kYXRpb24gLmNlbGw6bnRoLWNoaWxkKDJuKSB7XG4gICAgcGFkZGluZzogMTVweCAzMHB4IDBweCAxNXB4OyB9IH1cblxuLyoqKlxuSGFsZiBOIEhhbGZcbioqKi9cbi5jLWhhbGYtbi1oYWxmIHtcbiAgbWFyZ2luOiAwIDAgNjBweCAwOyB9XG5cbi5jLWhhbGYtbi1oYWxmOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW46IDYwcHggMDsgfVxuXG4uYy1oYWxmLW4taGFsZl9faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB3aWR0aDogNTglO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogNzA4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG5cbi5jLWhhbGYtbi1oYWxmX19jb250ZW50LFxuLmMtd3JhcHBlci51LWJnLXdoaXRlIC5jLWhhbGYtbi1oYWxmX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjVmNDtcbiAgbWluLWhlaWdodDogMzMzcHg7XG4gIHBhZGRpbmc6IDY1cHggNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYy13cmFwcGVyIC5jLWhhbGYtbi1oYWxmX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uYy1oYWxmLW4taGFsZl9faGVhZGVyIHtcbiAgY29sb3I6ICMzQTNDMzk7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBtYXJnaW46IDAgMCAxNnB4IDA7IH1cblxuLmMtaGFsZi1uLWhhbGZfX2NvcHkgcCxcbi5jLWhhbGYtbi1oYWxmIHVsIGxpIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jLWhhbGYtbi1oYWxmOm50aC1vZi10eXBlKG9kZCkgLmMtaGFsZi1uLWhhbGZfX2ltYWdlIHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmMtaGFsZi1uLWhhbGY6bnRoLW9mLXR5cGUoZXZlbikgLmMtaGFsZi1uLWhhbGZfX2ltYWdlIHtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uYy1oYWxmLW4taGFsZjpudGgtb2YtdHlwZShvZGQpIC5jLWhhbGYtbi1oYWxmX19jb250ZW50IHtcbiAgbWFyZ2luOiA3MHB4IDAgNzBweCA1MCU7IH1cblxuLmMtaGFsZi1uLWhhbGY6bnRoLW9mLXR5cGUoZXZlbikgLmMtaGFsZi1uLWhhbGZfX2NvbnRlbnQge1xuICBtYXJnaW46IDcwcHggNTAlIDcwcHggMDsgfVxuXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19oZWFkZXIsXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19jb3B5IHAsXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19jb3B5IHVsIGxpLFxuLmMtd3JhcHBlcltjbGFzcyo9XCJ1LWJnLVwiXSAuYy1oYWxmLW4taGFsZiAuYy1oYWxmLW4taGFsZl9fY29weSBhLFxuLmMtd3JhcHBlcltjbGFzcyo9XCJ1LWJnLVwiXSAuYy1oYWxmLW4taGFsZiAuYy1oYWxmLW4taGFsZl9fY29weSBhOmFmdGVyIHtcbiAgY29sb3I6ICMzQTNDMzkgIWltcG9ydGFudDsgfVxuXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19jb3B5IGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0EzQzM5ICFpbXBvcnRhbnQ7IH1cblxuLyoqKlxuLmMtaGFsZi1uLWhhbGZfX2NvcHkgQ29udGVudCBCbG9ja3F1b3RlXG4qKiovXG4uYy1oYWxmLW4taGFsZl9fY29weSBwICsgYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogNjBweCBhdXRvIDA7IH1cblxuLmMtaGFsZi1uLWhhbGZfX2NvcHkgYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzc2QkQyMjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMCAwIDMwcHg7IH1cbiAgLmMtaGFsZi1uLWhhbGZfX2NvcHkgYmxvY2txdW90ZSBwIHtcbiAgICBjb2xvcjogIzAwNjkzOCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuYy1oYWxmLW4taGFsZl9fY29weSBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4gICAgLmMtaGFsZi1uLWhhbGZfX2NvcHkgYmxvY2txdW90ZSBwOjphZnRlciB7XG4gICAgICBjb250ZW50OiBjbG9zZS1xdW90ZTsgfVxuXG4uYy1oYWxmLW4taGFsZl9fY29weSAucXVvdGUtYXR0cmlidXRlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1oYWxmLW4taGFsZjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDQwcHggMDsgfVxuICAuYy1oYWxmLW4taGFsZl9fY29weSBwICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDsgfVxuICAuYy1oYWxmLW4taGFsZl9fY29weSAucXVvdGUtYXR0cmlidXRlIHtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLWhhbGYtbi1oYWxmIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtaGFsZi1uLWhhbGYge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuICAuYy1oYWxmLW4taGFsZjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDQwcHggMDsgfVxuICAuYy1oYWxmLW4taGFsZl9faW1hZ2Uge1xuICAgIGhlaWdodDogNDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYy1oYWxmLW4taGFsZjpudGgtY2hpbGQob2RkKSAuYy1oYWxmLW4taGFsZl9faW1hZ2UsXG4gIC5jLWhhbGYtbi1oYWxmOm50aC1jaGlsZChldmVuKSAuYy1oYWxmLW4taGFsZl9faW1hZ2Uge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYy1oYWxmLW4taGFsZjpudGgtY2hpbGQob2RkKSAuYy1oYWxmLW4taGFsZl9fY29udGVudCxcbiAgLmMtaGFsZi1uLWhhbGY6bnRoLWNoaWxkKGV2ZW4pIC5jLWhhbGYtbi1oYWxmX19jb250ZW50IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmMtaGFsZi1uLWhhbGZfX2NvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgcGFkZGluZzogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1oYWxmLW4taGFsZl9faW1hZ2Uge1xuICAgIGhlaWdodDogMjUwcHg7IH0gfVxuXG4vKioqXG5JbmZvZ3JhcGhpYyBTZWN0aW9uXG4qKiovXG4uYy1pbmZvZ3JhcGhpYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmMtaW5mb2dyYXBoaWNfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmMtaW5mb2dyYXBoaWNfX2ltYWdlIHtcbiAgbWF4LXdpZHRoOiAyNTBweDsgfVxuXG4uYy1pbmZvZ3JhcGhpY19faGVhZGVyIHtcbiAgZm9udC1zaXplOiA5MHB4O1xuICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmMtaW5mb2dyYXBoaWNfX2xpbmUxIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCA1cHggMDsgfVxuXG4uYy1pbmZvZ3JhcGhpY19fbGluZTIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4uYy1pbmZvZ3JhcGhpYy1ibG9ja19fbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4uYy1pbmZvZ3JhcGhpYy1ibG9jay5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtaW5mb2dyYXBoaWMge1xuICAgIHBhZGRpbmc6IDQwcHggMzBweCA1MHB4OyB9XG4gIC5jLWluZm9ncmFwaGljX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyMzBweDsgfVxuICAuYy1pbmZvZ3JhcGhpY19faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDU4cHg7XG4gICAgbWFyZ2luOiA1MHB4IDAgMDsgfVxuICAuYy1pbmZvZ3JhcGhpY19fbGluZTEge1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAuYy1pbmZvZ3JhcGhpY19fbGluZTIge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuYy1pbmZvZ3JhcGhpYy1ibG9jayAuc2xpY2stZG90cyBsaSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtaW5mb2dyYXBoaWMge1xuICAgIHBhZGRpbmc6IDIwcHggMzBweCA1MHB4OyB9XG4gIC5jLWluZm9ncmFwaGljX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxODdweDsgfVxuICAuYy1pbmZvZ3JhcGhpY19faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuYy1pbmZvZ3JhcGhpY19fbGluZTEge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAuYy1pbmZvZ3JhcGhpY19fbGluZTIge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1pbmZvZ3JhcGhpYyB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4OyB9XG4gIC5jLWluZm9ncmFwaGljX19saW5lMiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jLWluZm9ncmFwaGljLWJsb2NrX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAyNXB4IDA7IH0gfVxuXG4vKioqXG4gTWFzdGhlYWRcbioqKi9cbi5jLW1hc3RoZWFkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLW1hc3RoZWFkX19pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIG1heC1oZWlnaHQ6IDY4OXB4O1xuICBtaW4taGVpZ2h0OiA2ODlweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLW1hc3RoZWFkX19pbWFnZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5jLW1hc3RoZWFkX19jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNDBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgei1pbmRleDogMTsgfVxuXG4uYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XG4gIGxpbmUtaGVpZ2h0OiA4NSU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDMxcHg7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA5OTk5cHg7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjZmVmZWZlOyB9XG5cbi5jLW1hc3RoZWFkLS1lamVjdCAuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jLW1hc3RoZWFkLS1vcGFjaXR5IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4uYy1tYXN0aGVhZCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG5NYXN0aGVhZCBCdXR0b25zXG4qKiovXG4uYy1tYXN0aGVhZF9fYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jLW1hc3RoZWFkX19idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogNTBweCAzMHB4IDAgMDsgfVxuXG4uYy1tYXN0aGVhZF9fYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogNTBweCAwIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLW1hc3RoZWFkX19pbWFnZSB7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgbWF4LWhlaWdodDogaW5pdGlhbDsgfVxuICAuYy1tYXN0aGVhZC0tZWplY3QgLmMtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gNjBweDsgfVxuICAuYy1tYXN0aGVhZCAuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgICBmb250LXNpemU6IDcycHg7IH1cbiAgLmMtbWFzdGhlYWQtLWVqZWN0IC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1tYXN0aGVhZF9faW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDI1NnB4O1xuICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7IH1cbiAgLmMtbWFzdGhlYWQgLmMtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweCAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmMtbWFzdGhlYWQgLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgY29sb3I6ICMwMDY5Mzg7XG4gICAgZm9udC1zaXplOiA1MXB4OyB9XG4gIC5jLW1hc3RoZWFkIC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkICMwMDY5Mzg7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICMwMDY5Mzg7IH1cbiAgLypcbiAgICBNYXN0aGVhZCBCdXR0b25zXG4gICAgKioqL1xuICAuYy1tYXN0aGVhZF9fYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gIC5jLW1hc3RoZWFkX19idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLmMtbWFzdGhlYWQgLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9IH1cblxuLyoqKlxuTWFzdGhlYWQgLSBOZXdzIFBhZ2VzXG4qKiovXG4uYy1tYXN0aGVhZC0tbmV3cyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5jLW1hc3RoZWFkLS1uZXdzIC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICBmb250LXNpemU6IDYwcHg7XG4gIG1hcmdpbjogMCAyMHB4OyB9XG5cbi8qKipcbkltYWdlIHdpdGggdGV4dCBibG9ja1xuKioqL1xuLmMtaW1hZ2UtdGV4dC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTAwcHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtaW1hZ2UtdGV4dC1ibG9jayA+IC5ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDUzMHB4OyB9XG5cbi5jLWltYWdlLXRleHQtYmxvY2stLWZpeGVkIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI0MHB4OyB9XG5cbi5jLWltYWdlLXRleHQtYmxvY2stLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYy1pbWFnZS10ZXh0LWJsb2NrX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uYy1pbWFnZS10ZXh0LWJsb2NrX19hbHQtaGVhZGVyIHtcbiAgY29sb3I6ICMzQTNDMzk7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMycHg7XG4gIG1hcmdpbjogMCAwIDMycHggMDsgfVxuXG4uYy1pbWFnZS10ZXh0LWJsb2NrX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwIDI1cHg7XG4gIG1heC13aWR0aDogNDE3cHg7XG4gIG1pbi13aWR0aDogNDE3cHg7XG4gIHBhZGRpbmc6IDQzcHggMzBweDsgfVxuXG4uYy1pbWFnZS10ZXh0LWJsb2NrX19jb250ZW50IGgyIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1pbWFnZS10ZXh0LWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogODBweCAwOyB9XG4gIC5jLWltYWdlLXRleHQtYmxvY2sgPiAuZ3JpZC1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC5jLWltYWdlLXRleHQtYmxvY2tfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmMtaW1hZ2UtdGV4dC1ibG9ja19fd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtaW1hZ2UtdGV4dC1ibG9jayB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYy1pbWFnZS10ZXh0LWJsb2NrID4gLmdyaWQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gIC5jLWltYWdlLXRleHQtYmxvY2tfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwJSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYy1pbWFnZS10ZXh0LWJsb2NrX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmMtaW1hZ2UtdGV4dC1ibG9ja19fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMzBweDsgfSB9XG5cbi5jLWxpbms6YWZ0ZXIsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGE6YWZ0ZXIsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgZm9udC1mYW1pbHk6ICd1b3MnO1xuICBtYXJnaW46IDAgMCAwIDEwcHg7IH1cblxuLmMtbGluaywgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYSwgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYy1saW5rOmJlZm9yZSwgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYTpiZWZvcmUsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OTM4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmMtbGluay51LWJsYWNrOmhvdmVyLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLnUtYmxhY2s6aG92ZXIsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhLnUtYmxhY2s6aG92ZXIge1xuICBjb2xvcjogIzNBM0MzOTsgfVxuXG4uYy1saW5rLnUtYmxhY2s6YmVmb3JlLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLnUtYmxhY2s6YmVmb3JlLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYS51LWJsYWNrOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQTNDMzk7IH1cblxuLmMtbGluay51LXdoaXRlOmhvdmVyLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLnUtd2hpdGU6aG92ZXIsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhLnUtd2hpdGU6aG92ZXIge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYy1saW5rLnUtd2hpdGU6YmVmb3JlLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLnUtd2hpdGU6YmVmb3JlLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYS51LXdoaXRlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLmMtbGluazpob3ZlcjpiZWZvcmUsIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlcjpiZWZvcmUge1xuICB3aWR0aDogMTAwJTsgfVxuXG51bCAuYy1saW5rLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4uYy1saW5rLm5vLWFycm93OmFmdGVyLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLm5vLWFycm93OmFmdGVyLCAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYS5uby1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi5jLXd5c2l3eWctY29udGVudCBsaSBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDY5Mzg7IH1cblxudWwucGFnaW5hdGlvbiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG51bC5wYWdpbmF0aW9uIGxpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG51bC5wYWdpbmF0aW9uIGxpIGEge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAzcHggMTFweDsgfVxuXG4ucGFnaW5hdGlvbiAuY3VycmVudHBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjMDA2OTM4O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogM3B4IDExcHg7IH1cblxuLyoqKlxuUGFzdCBSZWNvcmRpbmdzXG4qKiovXG4uYy1yZWNvcmRpbmc6bnRoLW9mLXR5cGUoMm4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0OyB9XG5cbi5jLXJlY29yZGluZ19fZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuXG4uYy1yZWNvcmRpbmdfX2RldGFpbHMgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luOiAwIDI1cHggMCAwOyB9XG5cbi5jLXJlY29yZGluZ19fYXV0aG9yIHtcbiAgbWFyZ2luOiAwIDQwcHggMCAwOyB9XG5cbi5jLXJlY29yZGluZ19fZGV0YWlscyBwIHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1yZWNvcmRpbmdfX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jLXJlY29yZGluZ19fYXV0aG9yIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7IH0gfVxuXG4vKioqXG5Qcm9tbyBCb3hcbioqKi9cbi5jLXByb21vLWJveCB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLXByb21vLWJveDpub3QoLmMtcHJvbW8tYm94LS1wbGFpbik6bm90KC5jLXByb21vLWJveC0taW1hZ2UpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NkJEMjI7XG4gIGhlaWdodDogM3B4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7IH1cblxuLmMtcHJvbW8tYm94ID4gZGl2Om5vdCguYy1wcm9tby1ib3hfX2xheW91dC1jb250YWluZXIpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jLXByb21vLWJveF9fY29udGVudCxcbi5jLXByb21vLWJveF9faWNvbiB7XG4gIHBhZGRpbmctdG9wOiAyM3B4OyB9XG5cbi5jLXByb21vLWJveF9faWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cblxuLmMtcHJvbW8tYm94X19sYXlvdXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jLXByb21vLWJveF9faGVhZGVyIHtcbiAgY29sb3I6ICMzQTNDMzk7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYy1wcm9tby1ib3hfX2hlYWRlcjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1wcm9tby1ib3hfX2NvbnRlbnQgcCxcbi5jLXByb21vLWJveF9fY29udGVudCB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4vKioqXG5Qcm9tbyBCb3ggd2l0aCBJY29uXG4qKiovXG4uYy1wcm9tby1ib3guYy1wcm9tby1ib3gtLWljb24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jLXByb21vLWJveF9faWNvbiBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICBjb2xvcjogIzAwNjkzODtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDI1cHg7IH1cblxuLyoqKlxuUHJvbW8gQm94IHdpdGggSW1hZ2VcbioqKi9cbi5jLXByb21vLWJveC0taW1hZ2UgLmMtcHJvbW8tYm94X19jb250ZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jLXByb21vLWJveC0taW1hZ2UgLmMtcHJvbW8tYm94X19jb250ZW50ID4gZGl2IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLXByb21vLWJveC0taW1hZ2UgLmMtcHJvbW8tYm94X19jb250ZW50ID4gZGl2IHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NkJEMjI7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAzcHg7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtcHJvbW8tYm94LS1pbWFnZSAuYy1wcm9tby1ib3hfX2hlYWRlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKlxuUHJvbW8gQm94IC0gUGluayBMaW5lXG4qKiovXG4uYy1wcm9tby1ib3guYy1wcm9tby1ib3gtLWVuZXJneS1waW5rOm5vdCguYy1wcm9tby1ib3gtLXBsYWluKTpub3QoLmMtcHJvbW8tYm94LS1pbWFnZSk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDQxNTY4OyB9XG5cbi8qKipcblByb21vIEJveCAtIFBsYWluXG4qKiovXG4uYy1wcm9tby1ib3gtLXBsYWluIC5jLXByb21vLWJveF9fY29udGVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXByb21vLWJveDpub3QoLmMtcHJvbW8tYm94LS1wbGFpbik6bm90KC5jLXByb21vLWJveC0taW1hZ2UpOmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuXG4vKioqXG5JRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZVxuKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuYy1wcm9tby1ib3hfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiA3MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYy13cmFwcGVyOm5vdCguYy1pbmZvZ3JhcGhpYykgdWwuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogMDsgfVxuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbjogMCAzMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzk3OTc5NztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiAnJzsgfVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuLyoqKlxuU2xpY2sgUGFnZXJzXG4qKiovXG4udS13aGl0ZS0tYWxsIC5zbGljay1kb3RzIGxpIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDsgfVxuXG4udS13aGl0ZS0tYWxsIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxudGFibGUge1xuICBib3JkZXItdG9wOiA1cHggc29saWQgIzhFQkIzODtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRib2R5LFxuICB0YWJsZSB0Zm9vdCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjc7IH1cbiAgdGFibGUgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEVGRUU7IH1cbiAgdGFibGUgdGQsXG4gIHRhYmxlIHRkIHAsXG4gIHRhYmxlIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgdGFibGUgdGQsXG4gIHRhYmxlIHRkIHA6bGFzdC1vZi10eXBlLFxuICB0YWJsZSB1bCBsaSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIHRhYmxlIHRoLFxuICB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4OyB9XG5cbi5jLXdyYXBwZXIudS1iZy1ncmV5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxudGFibGUuYy10YWJsZS0tdW5zdHJpcGVkIHRoZWFkLFxudGFibGUuYy10YWJsZS0tdW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGNzsgfVxuXG4uYy13eXNpd3lnLWNvbnRlbnQgdGFibGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfSB9XG5cbi50YWJsZS1zY3JvbGwgdGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYy10YWJsZV9faGVhZGVyLFxudGFibGUgY2FwdGlvbiB7XG4gIGNvbG9yOiAjMDA2OTM4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDI4cHggMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYy10YWJsZV9faGVhZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGFicy0tbGlnaHQgLnRhYnMsXG4udGFicy0tbGlnaHQgLmFjY29yZGlvbiB7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAudGFicy0tbGlnaHQgLnRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBhLFxuICAudGFicy0tbGlnaHQgLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmhvdmVyLFxuICAudGFicy0tbGlnaHQgLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAudGFicy0tbGlnaHQgLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSxcbiAgLnRhYnMtLWxpZ2h0IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBhLFxuICAudGFicy0tbGlnaHQgLmFjY29yZGlvbiAudGFicy10aXRsZSA+IGE6aG92ZXIsXG4gIC50YWJzLS1saWdodCAuYWNjb3JkaW9uIC50YWJzLXRpdGxlID4gYTpmb2N1cyxcbiAgLnRhYnMtLWxpZ2h0IC5hY2NvcmRpb24gLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDY5Mzg7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudGFicy0tbGlnaHQgLnRhYnMgLnRhYnMtdGl0bGU6bGFzdC1jaGlsZCBhLFxuICAudGFicy0tbGlnaHQgLmFjY29yZGlvbiAudGFicy10aXRsZTpsYXN0LWNoaWxkIGEge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuICAudGFicy0tbGlnaHQgLnRhYnMgLmFjY29yZGlvbi1pdGVtIGEsXG4gIC50YWJzLS1saWdodCAudGFicyAudGFicy10aXRsZSA+IGEsXG4gIC50YWJzLS1saWdodCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhLFxuICAudGFicy0tbGlnaHQgLmFjY29yZGlvbiAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzk1OTg5QTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgODBweCA0MHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDQwcHggMDsgfVxuICAudGFicy0tbGlnaHQgLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXTphZnRlcixcbiAgLnRhYnMtLWxpZ2h0IC5hY2NvcmRpb24gLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhFQkIzODtcbiAgICBib3R0b206IDBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudGFicy0tbGlnaHQgLnRhYnMgLmFjY29yZGlvbi1pdGVtLFxuICAudGFicy0tbGlnaHQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM0EzQzM5OyB9XG4gIC50YWJzLS1saWdodCAudGFicyAuYWNjb3JkaW9uLWl0ZW0gYSxcbiAgLnRhYnMtLWxpZ2h0IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi50YWJzLS1saWdodCAuYWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzQTNDMzk7IH1cblxuLnRhYnMtLWxpZ2h0IC5hY2NvcmRpb24tY29udGVudCxcbi50YWJzLS1saWdodCAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC50YWJzLS1saWdodCAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYnMtcGFuZWwsXG4gIC50YWJzLS1saWdodCAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLS1saWdodCAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYnMtcGFuZWwgdGFibGUsXG4gIC50YWJzLS1saWdodCAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHRhYmxlIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnRhYnMsXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMtLWRhcmsudGFicyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGFicy0tZGFyay5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLWl0ZW0gPiBhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50YWJzLS1kYXJrLnRhYnMsIC50YWJzLS1kYXJrLmFjY29yZGlvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3M2EzNjtcbiAgY29sb3I6ICNjNWJmYjc7IH1cbiAgLnRhYnMtLWRhcmsudGFicyAudGFicy10aXRsZSA+IGE6aG92ZXIsXG4gIC50YWJzLS1kYXJrLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAudGFicy0tZGFyay50YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10sIC50YWJzLS1kYXJrLmFjY29yZGlvbiAudGFicy10aXRsZSA+IGE6aG92ZXIsXG4gIC50YWJzLS1kYXJrLmFjY29yZGlvbiAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gIC50YWJzLS1kYXJrLmFjY29yZGlvbiAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY1ZjQ7XG4gICAgY29sb3I6ICMzNzNhMzY7IH1cbiAgLnRhYnMtLWRhcmsudGFicyAuYWNjb3JkaW9uLXRpdGxlLFxuICAudGFicy0tZGFyay50YWJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4gIC50YWJzLS1kYXJrLnRhYnMgLmFjY29yZGlvbi10aXRsZTpmb2N1cywgLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUsXG4gIC50YWJzLS1kYXJrLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuICAudGFicy0tZGFyay5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzczYTM2O1xuICAgIGNvbG9yOiAjYzViZmI3O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmNmY1ZjQ7IH1cbiAgLnRhYnMtLWRhcmsudGFicyAudGFicy10aXRsZSwgLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC50YWJzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAudGFicy0tZGFyay50YWJzIC50YWJzLXRpdGxlID4gYSwgLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMjBweCAyNHB4O1xuICAgICAgY29sb3I6ICNjNWJmYjc7IH1cblxuLnRhYnMtLWRhcmsgLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjVmNDsgfVxuICAudGFicy0tZGFyayAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA0MHB4IDE4NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50YWJzLS1kYXJrIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4udGFicy0tZGFyayA+IC5hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24tY29udGVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKioqXG5UZXN0aW1vbmlhbFxuKioqL1xuLmMtdGVzdGltb25pYWwge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmMtdGVzdGltb25pYWxfX2ltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICB3aWR0aDogNjAlOyB9XG4gIC5jLXRlc3RpbW9uaWFsX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXgtd2lkdGg6IDQwJTtcbiAgcGFkZGluZzogNDBweDsgfVxuXG4uYy10ZXN0aW1vbmlhbF9fYmxvY2txdW90ZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBjb2xvcjogIzNBM0MzOTtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jLXRlc3RpbW9uaWFsX19hdXRob3Ige1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jLXRlc3RpbW9uaWFsX19pbmZvIHtcbiAgY29sb3I6ICM3NDc2Nzg7IH1cblxuLmMtdGVzdGltb25pYWxfX2F1dGhvcixcbi5jLXRlc3RpbW9uaWFsX19pbmZvIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuY2l0ZSB7XG4gIGNvbG9yOiAjM0EzQzM5O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG5cbmNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogJyc7IH1cblxuLyogVGVzdGltb25pYWwgLSBBdXRob3IgQmlvXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYy1hdXRob3ItYmlvIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG5cbi5jLWF1dGhvci1iaW8gPiBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICBmb250LXNpemU6IDEwM3B4OyB9XG5cbi5jLWF1dGhvci1iaW9fX2JpbyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jLWF1dGhvci1iaW9fX25hbWUge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbjogMCAwIDRweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qIFRlc3RpbW9uaWFsIFN0b3J5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYy10ZXN0aW1vbmlhbF9fc3RvcnkgLmMtYXV0aG9yLWJpb19fbmFtZSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmMtdGVzdGltb25pYWxfX3N0b3J5IC5jLWF1dGhvci1iaW9fX25hbWUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi8qXG5UZXN0aW1vbmlhbCBTdG9yeSAtIE5vIEltYWdlIG9yIFZpZGVvXG4qKiovXG4uYy10ZXN0aW1vbmlhbC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy10ZXN0aW1vbmlhbF9fY29udHJvbCArIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmMtdGVzdGltb25pYWwuYy10ZXN0aW1vbmlhbF9fc3RvcnkgLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy1zaGFyZS5oaWRlLWZvci1sYXJnZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC8qKipcbiAgICBUZXN0aW1vbmlhbFxuICAgICoqKi9cbiAgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAvKiBUZXN0aW1vbmlhbCAtIEF1dGhvciBCaW9cbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC5jLWF1dGhvci1iaW8gPiBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGZvbnQtc2l6ZTogOTBweDsgfVxuICAuYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmMtYXV0aG9yLWJpb19fYmlvIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtdGVzdGltb25pYWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmMtdGVzdGltb25pYWxfX2ltYWdlIHtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtaG9vay0tdG9wLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDMwcHg7IH1cbiAgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggMjVweCAwOyB9XG4gIC5jLXRlc3RpbW9uaWFsX19xdW90ZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMCAxMHB4OyB9XG4gIC5jLXRlc3RpbW9uaWFsX19hdXRob3Itd3JhcHBlciBhLmMtbGluaywgLmMtdGVzdGltb25pYWxfX2F1dGhvci13cmFwcGVyIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudSAuYy10ZXN0aW1vbmlhbF9fYXV0aG9yLXdyYXBwZXIgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLCAuYy10ZXN0aW1vbmlhbF9fYXV0aG9yLXdyYXBwZXIgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudSAuYy10ZXN0aW1vbmlhbF9fYXV0aG9yLXdyYXBwZXIgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IG1heC1jb250ZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgbWFyZ2luOiAwIDAgMjVweCAwO1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4vKiBUZXN0aW1vbmlhbCAtIE5vIEJpb1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtaG9vayArIC5jLXRlc3RpbW9uaWFsX19ibG9ja3F1b3RlIHtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy1ob29rICsgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAvKiBUZXN0aW1vbmlhbCAtIFN0b3J5XG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAuYy10ZXN0aW1vbmlhbF9fc3RvcnkgLmMtc2hhcmUuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC8qIFRlc3RpbW9uaWFsIC0gU3RvcnlcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC8qIFRlc3RpbW9uaWFsIC0gU3RvcnlcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAxLjg3NXJlbTsgfSB9XG5cbi8qIFRlc3RpbW9uaWFsIC0gTm8gSW1hZ2Ugb3IgVmlkZW9cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG91cjogdG9tYXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy1hdXRob3ItYmlvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy10ZXN0aW1vbmlhbF9fY29udHJvbCArIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLXNoYXJlLmhpZGUtZm9yLW1lZGl1bSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy10ZXN0aW1vbmlhbF9fYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCA0MHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy10ZXN0aW1vbmlhbF9fcXVvdGUge1xuICBmb250LXNpemU6IDM4cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtdGVzdGltb25pYWxfX3F1b3RlIHtcbiAgICBmb250LXNpemU6IDIycHg7IH1cbiAgLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy10ZXN0aW1vbmlhbF9fYXV0aG9yLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi8qKlxuV1lTSVdZRyBDb250ZW50XG4qKiovXG4uYy13eXNpd3lnLWNvbnRlbnQgdWwge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi8qXG5XWVNJV1lHIENvbnRlbnQgU3R5bGVzXG4qKiovXG4uYy13eXNpd3lnLWNvbnRlbnQge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi8qXG5XWVNJV1lHIENvbnRlbnQgQmxvY2txdW90ZVxuKioqL1xuLmMtd3lzaXd5Zy1jb250ZW50IHAgKyBibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiA2MHB4IGF1dG8gMDsgfVxuICAuYy13eXNpd3lnLWNvbnRlbnQgcCArIGJsb2NrcXVvdGUgKyBwOm5vdCgucXVvdGUtYXR0cmlidXRlKSB7XG4gICAgbWFyZ2luOiA2MHB4IGF1dG8gMXJlbTsgfVxuXG4uYy13eXNpd3lnLWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzc2QkQyMjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMCAwIDMwcHg7IH1cbiAgLmMtd3lzaXd5Zy1jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gICAgY29sb3I6ICMwMDY5Mzg7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5jLXd5c2l3eWctY29udGVudCBibG9ja3F1b3RlIHA6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4gICAgLmMtd3lzaXd5Zy1jb250ZW50IGJsb2NrcXVvdGUgcDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7IH1cblxuLmMtd3lzaXd5Zy1jb250ZW50IC5xdW90ZS1hdHRyaWJ1dGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLXd5c2l3eWctY29udGVudCBwICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDsgfVxuICAgIC5jLXd5c2l3eWctY29udGVudCBwICsgYmxvY2txdW90ZSArIHA6bm90KC5xdW90ZS1hdHRyaWJ1dGUpIHtcbiAgICAgIG1hcmdpbjogNDBweCBhdXRvIDFyZW07IH1cbiAgLmMtd3lzaXd5Zy1jb250ZW50IC5xdW90ZS1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7IH0gfVxuXG4vKlxuVGVzdGltb25pYWwgLSBGdWxsIFRlc3RpbW9uaWFsIFxuKioqL1xuLmMtd3lzaXd5Zy1jb250ZW50IC5jLWJsb2NrcXVvdGUtLXNpbXBsZSxcbi5jLWJsb2NrcXVvdGUtLXNpbXBsZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jLXd5c2l3eWctY29udGVudCAuYy1ibG9ja3F1b3RlLS1zaW1wbGUgcCxcbi5jLWJsb2NrcXVvdGUtLXNpbXBsZSBwIHtcbiAgY29sb3I6ICMzQTNDMzk7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXQge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fZm9ybSB7XG4gIG1hcmdpbjogMTNweCAwIDQzcHg7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNDRENEQ0Q7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDg4MHB4O1xuICBtYXJnaW46IDAgNDVweCAwIDA7XG4gIHBhZGRpbmc6IDE2cHggMCAxNnB4IDY3cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2Rpc3QvY3NzL2ltYWdlcy9pY29ucy9tYWduaWZ5LWNvdXJzZS1zZWFyY2guc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjOEVCQjM4OyB9XG5cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMzQjY5Mzg7XG4gIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX2J1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAyMTlweDsgfVxuXG5jLWNvdXJzZS1zZWFyY2hfX2J1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAyM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19zZWFyY2gtaW5wdXQge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jb3Vyc2Utc2VhcmNoLXdpZGdldF9fcmVzdWx0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY291cnNlLXNlYXJjaC13aWRnZXRfX3Jlc3VsdCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fdmlldy1hbGwge1xuICBtaW4td2lkdGg6IDIxOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0xMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X192aWV3LWFsbCB7XG4gICAgbWluLXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm90dG9tOiAtMjBweDsgfSB9XG5cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX2xvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogNTBweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldC1wb3B1cF9fcmVzdWx0cyB7XG4gIHBhZGRpbmc6IDRyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgLnRhYnMsIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIC50YWJzICsgLnRhYnMtY29udGVudCwgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIC5maWx0ZXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIC5maWx0ZXJzIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogIzhhOGE4YTsgfVxuICAgIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIC5maWx0ZXJzIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OTk5OXB4O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgLmZpbHRlcnMgbGFiZWwuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjY2M7IH1cbiAgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgZmllbGRzZXQgaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4OyB9XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIGZpZWxkc2V0IGgzIHtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuYy1jb3Vyc2Utc2VhcmNoLXdpZGdldC1wb3B1cF9fcmVzdWx0cyBmaWVsZHNldCBpbnB1dDpmb2N1cyArIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIGZpZWxkc2V0IGlucHV0OmZvY3VzICsgYS5idXR0b24ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYy1jb3Vyc2Utc2VhcmNoLXdpZGdldC1wb3B1cF9fcmVzdWx0cyBhLnJlc3VsdCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX3Jlc3VsdHMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXBfX2xvYWRpbmcge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXQtcG9wdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDc7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7IH1cblxuLmhvbWVwYWdlLWNvdXJzZS1zZWFyY2hfX3F1ZXJ5OmZvY3VzICsgLnBsYWNlaG9sZGVyIHAge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsgfVxuXG5pbnB1dCNob21lcGFnZS1jb3Vyc2Utc2VhcmNoX19xdWVyeTpmb2N1cyB7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5jb2xvci1ib3gge1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb2xvdXItc3dhdGNoLWdyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTVweCAwIDA7IH1cblxuLmNvbG91ci1zd2F0Y2gtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29sb3VyLXN3YXRjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICB3aWR0aDogMTMwcHg7XG4gIGhlaWdodDogMTgwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IDBweCAjNmU2ZTZlOyB9XG5cbi5jb2xvdXItc3dhdGNoLS1zd2F0Y2gge1xuICBoZWlnaHQ6IDEzMHB4O1xuICB3aWR0aDogMTMwcHg7IH1cblxuLmNvbG91ci1zd2F0Y2g6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29sb3VyLXN3YXRjaC0tZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOXB4IDVweDsgfVxuXG4uY29sb3VyLXN3YXRjaC0tZGV0YWlscyBwIHtcbiAgZm9udC1zaXplOiAxMHB4OyB9XG5cbi5oZXgtY29kZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLypcbldyYXBwZXJcbioqKi9cbi5jLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyoqKlxuVHlwb2dyYXBoeVxuKioqL1xuLnR5cG9ncmFwaHktYmxvY2suZnMtbWFqYSB7XG4gIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLm9wZW4tc2Fucy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ub3Blbi1zYW5zLXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ub3Blbi1zYW5zLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5vcGVuLXNhbnMtbGlnaHQge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50eXBvZ3JhcGh5LWJsb2NrIC5mb250LWZhbWlseSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnR5cG9ncmFwaHktYmxvY2sgcCB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnR5cG9ncmFwaHktYmxvY2sgc3Bhbi5mb250LWZhbWlseS1zYW1wbGUge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBtYXJnaW46IDAgNS4wMSUgMCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExODBweCkge1xuICAudHlwb2dyYXBoeS1ibG9jayA+IC5mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdkaXRoOiA2MDBweCkge1xuICAudHlwb2dyYXBoeS1ibG9jayBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4vKioqXG5UeXBvZ3JhcGh5IC0gSGVhZGluZyBIZWlyYXJjaHlcbioqKi9cbi5oZWFkaW5nLWJsb2NrIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG5cbi5oZWFkaW5nLWJsb2NrID4gLmZsZXgtY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi5oZWFkaW5nLWJsb2NrIC50YWcge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMCAzMHB4IDAgMDsgfVxuXG4vKioqXG5DYWxsIHRvIEFjdGlvblxuKioqL1xuLmN0YSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBwYWRkaW5nOiAyM3B4IDY0cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5jdGFfX2Rpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1QjBCNDtcbiAgY29sb3I6ICMzQTNDMzg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbkNhbGwgdG8gQWN0aW9uIC0gSGVyaXRhZ2UgR3JlZW5cbioqL1xuLmN0YS0taGVyaXRhZ2UtZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uY3RhLS1oZXJpdGFnZS1ncmVlbjpob3Zlcixcbi5jdGEtLWhlcml0YWdlLWdyZWVuX19hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICMzQjY5Mzg7XG4gIGNvbG9yOiAjM0I2OTM4OyB9XG5cbi8qXG5DYWxsIHRvIEFjdGlvbiAtIEVuZXJneSBHcmVlblxuKiovXG4uY3RhLS1lbmVyZ3ktZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVCQjM4O1xuICBjb2xvcjogIzNBM0MzODsgfVxuXG4uY3RhLS1lbmVyZ3ktZ3JlZW46aG92ZXIsXG4uY3RhLS1lbmVyZ3ktZ3JlZW5fX2FjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzhFQkIzODtcbiAgY29sb3I6ICMzQTNDMzg7IH1cblxuLypcbkNhbGwgdG8gQWN0aW9uIC0gSGVyaXRhZ2UgQmVycnlcbioqL1xuLmN0YS0taGVyaXRhZ2UtYmVycnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjYyNjU2O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uY3RhLS1oZXJpdGFnZS1iZXJyeTpob3Zlcixcbi5jdGEtLWhlcml0YWdlLWJlcnJ5X19hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM2NjI2NTY7XG4gIGNvbG9yOiAjNjYyNjU2OyB9XG5cbi8qKipcblRleHQgTGlua1xuKioqL1xuLnRleHQtbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGV4dC1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMzQjY5Mzg7IH1cblxuLnRleHQtbGluazphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNCNjkzODtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi50ZXh0LWxpbms6aG92ZXI6YWZ0ZXIge1xuICBsZWZ0OiAwOyB9XG5cbi50ZXh0LWxpbmtfX2FjdGl2ZTphZnRlciB7XG4gIGxlZnQ6IDA7IH1cblxuLnRleHQtbGluay0tYmVycnksXG4udGV4dC1saW5rLS1iZXJyeTpob3ZlciB7XG4gIGNvbG9yOiAjNjYyNjU2OyB9XG5cbi50ZXh0LWxpbmstLWJlcnJ5OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2MjY1NjsgfVxuXG4vKioqXG5JY29uIExpbmtzXG4qKiovXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBtYXJnaW46IDE1cHg7IH1cblxuLmMtaWNvbi1saW5rIC5jLWljb24tbGlua19fdGV4dC1pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmMtaWNvbi1saW5rLS1sYXJnZSAuYy1saW5rLCAuYy1pY29uLWxpbmstLWxhcmdlIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudSAuYy1pY29uLWxpbmstLWxhcmdlIC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYSwgLmMtaWNvbi1saW5rLS1sYXJnZSAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSwgLm1lZ2FtZW51IC5jLWljb24tbGluay0tbGFyZ2UgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gIGZvbnQtc2l6ZTogMzJweDsgfVxuXG4uYy1pY29uLWxpbmstYmxvY2sgLmNlbGw6bnRoLWNoaWxkKDMpIHtcbiAgbWFyZ2luOiAwIDAgOTVweCAwOyB9XG5cbi5jLWljb24tbGluay1ibG9jayAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jLWljb24tbGluayB7XG4gIGNvbG9yOiAjMDA2OTM4OyB9XG5cbi5jLWljb24tbGluay51LXdoaXRlLFxuLmMtaWNvbi1saW5rLnUtd2hpdGUgLmMtbGluayxcbi5jLWljb24tbGluay51LXdoaXRlIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudVxuLmMtaWNvbi1saW5rLnUtd2hpdGUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhLFxuLmMtaWNvbi1saW5rLnUtd2hpdGUgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudVxuLmMtaWNvbi1saW5rLnUtd2hpdGUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5jLWljb24tbGluay51LXdoaXRlIC5jLWxpbms6YmVmb3JlLCAuYy1pY29uLWxpbmsudS13aGl0ZSAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiBhOmJlZm9yZSwgLm1lZ2FtZW51IC5jLWljb24tbGluay51LXdoaXRlIC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYTpiZWZvcmUsIC5jLWljb24tbGluay51LXdoaXRlIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmJlZm9yZSwgLm1lZ2FtZW51IC5jLWljb24tbGluay51LXdoaXRlIC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtZmFjZWJvb2tcIl0ge1xuICBjb2xvcjogIzNiNTk5ODsgfVxuXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtaW5zdGFncmFtXCJdIHtcbiAgY29sb3I6ICMyNjI2MjY7IH1cblxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLXR3aXR0ZXJcIl0ge1xuICBjb2xvcjogIzU1YWNlZTsgfVxuXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MteW91dHViZVwiXSB7XG4gIGNvbG9yOiAjZmYwMDAwOyB9XG5cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1saW5rZWRpblwiXSB7XG4gIGNvbG9yOiAjMDA3YmI1OyB9XG5cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1zbmFwY2hhdFwiXSB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1mYWNlYm9va1wiXSxcbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1pbnN0YWdyYW1cIl0sXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtdHdpdHRlclwiXSxcbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy15b3V0dWJlXCJdLFxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLWxpbmtlZGluXCJdLFxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLXNuYXBjaGF0XCJdIHtcbiAgZm9udC1zaXplOiA1MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICBmb250LXNpemU6IDUycHg7IH1cbiAgLmMtaWNvbi1saW5rLS1sYXJnZSAuYy1saW5rLCAuYy1pY29uLWxpbmstLWxhcmdlIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IGEsIC5tZWdhbWVudSAuYy1pY29uLWxpbmstLWxhcmdlIC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYSwgLmMtaWNvbi1saW5rLS1sYXJnZSAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSwgLm1lZ2FtZW51IC5jLWljb24tbGluay0tbGFyZ2UgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAyNnB4OyB9IH1cblxuLypcbkljb24gTGlua3Mgd2l0aCBUZXh0XG4qKioqKioqKioqL1xuLmMtaWNvbi1saW5rX19oZWFkZXIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi5jLWljb24tbGlua19fdGV4dCBwOm5vdCguYy1pY29uLWxpbmtfX2hlYWRlcikge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmMtaWNvbi1saW5rLWJsb2NrIC5jZWxsLFxuICAuYy1pY29uLWxpbmstYmxvY2sgLmNlbGw6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gIC5jLWljb24tbGluay1ibG9jayAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLypcbiAgICBJY29uIExpbmtzIHdpdGggVGV4dFxuICAgICoqKioqKioqKiovIH1cblxuLyoqKlxuRXZlbnRzIEJveFxuKioqL1xuLmMtZXZlbnRzLWJveF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuLmMtZXZlbnRzLWJveF9fY29udGVudCBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAxNnB4IDA7IH1cblxuLmMtZXZlbnRzLWJveF9fZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDM0cHggMDsgfVxuXG4uYy1ldmVudHMtYm94X19kZXRhaWxzIHAge1xuICBtYXJnaW46IDA7IH1cblxuLmMtZXZlbnRzLWJveCBzcGFuW2NsYXNzXj1cInVvcy1cIl0sXG4uYy1ldmVudHMtYm94X19kZXRhaWxzIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gIGNvbG9yOiAjNzZCRDIyO1xuICBmb250LXNpemU6IDI1cHg7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuXG4uYy1ldmVudHMtYm94X19kZXRhaWwtaW5mbyB7XG4gIG1hcmdpbjogMCA1MHB4IDEwcHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi5jLWV2ZW50cy1ib3hfX2RldGFpbC1pbmZvIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuXG4uYy1ldmVudHMtYm94X19kZXRhaWwtaW5mbzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qXG5FdmVudHMgQm94IEFsZXJ0XG4qKioqKioqKioqL1xuLmMtZXZlbnRzLWJveF9fYWxlcnQge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuLmMtZXZlbnRzLWJveF9fYWxlcnQgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBtYXJnaW46IDAgMjBweCAwIDA7IH1cblxuLmMtZXZlbnRzLWJveF9fYWxlcnQgcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1ldmVudHMtYm94X19kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYy1ldmVudHMtYm94X19kZXRhaWwtaW5mbyB7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwOyB9XG4gIC5jLWV2ZW50cy1ib3hfX2RldGFpbC1pbmZvOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qXG5TaW5nbGUgRXZlbnRcbioqKioqKioqKiovXG4uYy1ldmVudHNfX2RldGFpbHMgcCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYy1ldmVudHMtYm94X19hbGVydC0tc2luZ2xlIHtcbiAgcGFkZGluZzogMzVweCAzMHB4OyB9XG5cbi5jLWV2ZW50cy1ib3hfX2FsZXJ0LS1zaW5nbGUgcCB7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4vKlxuRXZlbnRzIENhbGVuZGFyXG4qKiovXG4uYy1ldmVudHMtY2FsZW5kYXIgdWw6Zmlyc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIHBhZGRpbmc6IDAgMCA0MHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gYTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM3NkJEMjI7XG4gIGJvdHRvbTogMDtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogOHB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jLWV2ZW50cy1jYWxlbmRhciA+IHVsID4gbGkgPiB1bCB7XG4gIGNvbHVtbi1jb3VudDogMzsgfVxuXG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMC4xMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY5Mzg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgZm9udC1mYW1pbHk6ICd1b3MnO1xuICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwge1xuICAgIGNvbHVtbi1jb3VudDogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwge1xuICAgIGNvbHVtbi1jb3VudDogMTsgfSB9XG5cbi5jLWZhY3RzIHtcbiAgcGFkZGluZzogNDJweCAwOyB9XG5cbi5jLWZhY3RzX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4OyB9XG5cbi5jLWZhY3RzX19mYWN0cyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jLWZhY3RzX19mYWN0cyBwLCAuYy1mYWN0c19fZmFjdHMgbGksIC5jLWZhY3RzX19mYWN0cyB0aCwgLmMtZmFjdHNfX2ZhY3RzIHRkIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmMtZmFjdHNfX2ZhY3RzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIDMycHggNnB4IDA7IH1cbiAgLmMtZmFjdHNfX2ZhY3RzOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtZmFjdHNfX2ZhY3RzIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jLWZhY3RzX19mYWN0LWhlYWRpbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jLWZhY3RzX19mYWN0LWhlYWRpbmc6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnIC0nOyB9XG5cbi5jLWZhY3RzX19jb3Vyc2UtbGVhZmxldC1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYy1mYWN0c19fY291cnNlLWxlYWZsZXQtbGluayBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmMtZmFjdHNfX2NvdXJzZS1sZWFmbGV0LWxpbmsgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKioqXG5TdGFmZiBPdmVydmlld3NcbioqKi9cbi5jLXN0YWZmLW92ZXJ2aWV3X19pbWFnZSB7XG4gIG1hcmdpbjogMCAzMHB4IDAgMDtcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgbWluLXdpZHRoOiAyNjBweDsgfVxuXG4vKioqXG5Db2x1bW5zIFNlY3Rpb25cbioqKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuY29sdW1ucy1zZWN0aW9uIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5jb2x1bW5zLXNlY3Rpb24gLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qXG5MaXN0IHdpdGggaWNvbnMgYXMgYnVsbGV0c1xuKi9cbi5pY29uLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmljb24tbGlzdF9fbGlzdC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuaWNvbi1saXN0X19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaWNvbi1saXN0X19saXN0LWl0ZW0gW2NsYXNzXj1cInVvcy1cIl0sIC5pY29uLWxpc3RfX2xpc3QtaXRlbSBbY2xhc3MqPVwiIHVvcy1cIl0ge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBjb2xvcjogIzc2QkQyMjtcbiAgICBmb250LXNpemU6IDM1cHg7IH1cbiAgLmljb24tbGlzdF9fbGlzdC1pdGVtLmljb24tbGlzdF9fbGlzdC1pdGVtLS1zbWFsbC1pY29uIHtcbiAgICBmb250LXNpemU6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5pY29uLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5pY29uLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKlxuTGF5b3V0IHdpdGggaWNvbiBvbiB0aGUgbGVmdCBhbmQgdGV4dC9jb250ZW50IG9uIHRoZSByaWdodFxuKi9cbi5jLWNvbHVtbi1saXN0IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDU5cHg7IH1cblxuLmMtaWNvbi1pbmRlbnQgW2NsYXNzXj1cInVvcy1cIl0sIC5jLWljb24taW5kZW50IFtjbGFzcyo9XCIgdW9zLVwiXSB7XG4gIGZvbnQtc2l6ZTogNDJweDsgfVxuXG4uYy1pY29uLWluZGVudF9fYm9keSB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5jLWljb24taW5kZW50X19ib2R5IHAge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYy1pY29uLWluZGVudF9fYm9keSBsaSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLmMtaWNvbi1pbmRlbnRfX2JvZHktLWhpZ2hsaWdodCB7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjNzZCRDIyO1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuXG4uYy1pY29uLWluZGVudF9fZmxhZyBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5jLWljb24taW5kZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jLWljb24taW5kZW50IFtjbGFzc149XCJ1b3MtXCJdLCAuYy1pY29uLWluZGVudCBbY2xhc3MqPVwiIHVvcy1cIl0ge1xuICAgICAgZm9udC1zaXplOiA0MnB4OyB9XG4gICAgICAuYy1pY29uLWluZGVudCBbY2xhc3NePVwidW9zLVwiXTo6YmVmb3JlLCAuYy1pY29uLWluZGVudCBbY2xhc3MqPVwiIHVvcy1cIl06OmJlZm9yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5jLWljb24taW5kZW50X19ib2R5IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYy1pY29uLWluZGVudF9fYm9keS0taGlnaGxpZ2h0IHtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gIC5jLWljb24taW5kZW50X19mbGFnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLypcblJlc3BvbnNpdmUgd3JhcHBlciBmb3IgdmlkZW9zLCBpZnJhbWUgYW5kIG9iamVjdHMuXG4qL1xuLmMtcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5jLXJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLmMtcmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4uYy1yZXNwb25zaXZlLWVtYmVkIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbkEgZ3JleSBzdHJpcCB0aGF0IHNpdHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSBmbHVzaCB3aXRoIHRoZSBmb290ZXJcbiovXG4ucGFnZS10aW1lc3RhbXAtc3RyaXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI5cHg7IH1cblxuLyoqXG4gKiBIb29rIG9uIGRpdnNcbiAqL1xuLmMtaG9vay0tdG9wLXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYy1ob29rLS10b3AtcmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS45Mzc1cmVtO1xuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjMDA2OTM4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYy1ob29rLS10b3AtcmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgIzAwNjkzODtcbiAgICB0b3A6IDA7IH1cblxuLmMtaG9vay0tdG9wLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jLWhvb2stLXRvcC1sZWZ0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuOTM3NXJlbTtcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgIzAwNjkzODtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmMtaG9vay0tdG9wLWxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjMDA2OTM4O1xuICAgIHRvcDogMDsgfVxuXG4vKioqXG5TaGFyZSBCdXR0b25zXG4qKiovXG4uYy1zaGFyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW46IDMwcHggMDsgfVxuXG5hLmMtc2hhcmVfX2ljb24ge1xuICBtYXJnaW46IDAgMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuYS5jLXNoYXJlX19pY29uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzNBM0MzOTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICBhLmMtc2hhcmVfX2ljb246aG92ZXIsIGEuYy1zaGFyZV9faWNvbi5mb2N1cywgYS5jLXNoYXJlX19pY29uLnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjM0EzQzM5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1zaGFyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuXG4vKioqXG5QYWdlIEJyZWFrIEJhbmRzIENvbnRlbnRcbioqKi9cbi5jLXBhZ2UtYmFuZC1jb250ZW50IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uYy1wYWdlLWJhbmQtY29udGVudCBwIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi8qKlxuU0VBUkNIXG4qL1xuLmMtc2VhcmNoLWxvYWRpbmcge1xuICBtYXJnaW46IDMwcHggMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1zZWFyY2gtbG9hZGluZ19fc3Bpbm5lciB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNlZWU7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjOTk5O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5sb2FkZXIge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiA2cHggc29saWQgIzhhOGE4YTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW46IDFyZW0gYXV0bzsgfVxuXG4ubG9hZGVyLS1zbWFsbCB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4vKlxuZ2VuZXJpYyByZXN1bHQgc3R5bGVcbkBzZWUgc2l0ZSBzZWFyY2gsIGludGVybmFsIHNlYXJjaFxuKi9cbi5jLXNlYXJjaC1yZXN1bHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLypcbmltYWdlIGJsb2NrIHJlc3VsdCBzdHlsZVxuQHNlZSB0ZXN0aW1vbmlhbHMsIGFjY29tbW9kYXRpb25cbiovXG4uYy1pbWFnZS1ibG9jay1zZWFyY2gtcmVzdWx0IHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtaW1hZ2UtYmxvY2stc2VhcmNoLXJlc3VsdF9fYm9keSB7XG4gIHBhZGRpbmc6IDI1cHggNTBweDtcbiAgYmFja2dyb3VuZDogI2Y2ZjVmNDsgfVxuXG4uYy1pbWFnZS1ibG9jay1zZWFyY2gtcmVzdWx0X190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jLWltYWdlLWJsb2NrLXNlYXJjaC1yZXN1bHRfX3F1b3RlIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICMzQTNDMzk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmMtaW1hZ2UtYmxvY2stc2VhcmNoLXJlc3VsdF9fcXVvdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1wiJzsgfVxuICAuYy1pbWFnZS1ibG9jay1zZWFyY2gtcmVzdWx0X19xdW90ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcIic7IH1cblxuLyoqKlxuR29vZ2xlIG1hcHNcbioqKi9cbi5jLWdvb2dsZS1tYXBzIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqKlxuQnJhbmQgYmFuayB3aWRnZXRzXG4qKiovXG4uYy1kb3dubG9hZC1ib3gge1xuICBib3JkZXI6ICNmNmY1ZjQgM3B4IHNvbGlkO1xuICBtYXJnaW46IDFyZW0gMCAyLjVyZW07IH1cblxuLmMtZG93bmxvYWQtYm94LS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2MzOTsgfVxuXG4uYy1kb3dubG9hZC1ib3ggLmMtZHJvcGRvd24td3JhcHBlciB7XG4gIG1hcmdpbjogMjVweCAwcHggMHB4IDI1cHg7IH1cblxuLmMtZG93bmxvYWQtYm94IGltZyB7XG4gIHBhZGRpbmc6IDQ1cHggNjBweCA1MHB4OyB9XG5cbi5jLWRvd25sb2FkLWJveCBwIHtcbiAgYmFja2dyb3VuZDogI2Y2ZjVmNDtcbiAgcGFkZGluZzogMThweCAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLmMtZHJvcGRvd24td3JhcHBlciAuYnV0dG9uLS1kcm9wZG93bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzAwNjkzNztcbiAgY29sb3I6ICMwMDY5Mzc7IH1cblxuLmMtZHJvcGRvd24td3JhcHBlciAuYnV0dG9uLS1kcm9wZG93bjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzAwNjkzNztcbiAgY29sb3I6ICMwMDY5Mzc7IH1cblxuLyoqKlxuQ29sb3VyIFN3YXRjaGVzXG4qKiovXG5maWd1cmUuYy1jb2xvdXItc3dhdGNoIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2Y2ZjVmNDtcbiAgbWFyZ2luOiAxcmVtIDAgMi41cmVtOyB9XG5cbmZpZ3VyZS5jLWNvbG91ci1zd2F0Y2ggZGl2W2NsYXNzXj1cInUtYmctXCJdIHtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IDExMCU7IH1cblxuZmlndXJlLmMtY29sb3VyLXN3YXRjaCBkbCxcbmZpZ3VyZS5jLWNvbG91ci1zd2F0Y2ggZGQsXG5maWd1cmUuYy1jb2xvdXItc3dhdGNoIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmZpZ3VyZS5jLWNvbG91ci1zd2F0Y2ggZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuZGwgZGQgdWwgbGk6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2NjYztcbiAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzOyB9XG5cbi5jLWNvbG91ci1zd2F0Y2ggbGkge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG5cbi5jLWNvbG91ci1zd2F0Y2ggbGk6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgY29sb3I6ICNiYmI7IH1cblxubGkuYy1jb2xvdXItc3dhdGNoX19oZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJoZXhcIjsgfVxuXG5saS5jLWNvbG91ci1zd2F0Y2hfX3JnYjpiZWZvcmUge1xuICBjb250ZW50OiBcInJnYlwiOyB9XG5cbmxpLmMtY29sb3VyLXN3YXRjaF9fY215azpiZWZvcmUge1xuICBjb250ZW50OiBcImNteWtcIjsgfVxuXG5saS5jLWNvbG91ci1zd2F0Y2hfX3BtczpiZWZvcmUge1xuICBjb250ZW50OiBcInBtc1wiOyB9XG5cbi8qKiogTEFZT1VUIFNUWUxFU1xuXG5QdXR0aW5nIHRoaXMgaW4gaXQncyBvd24gaW5jbHVkZSBmaWxlIGNveiBpdCBtYWtlcyB0aGUgYXBwLnNjc3MgZmlsZSBuZWF0ZXIsIGFuZFxuY2xlYXJlciBmb3IgZGV2cyB3aGF0IHRoZSBwdXJwb3NlIG9mIHRoZXNlIHN0eWxlcyBhcmVcblxuLi4uT05MWSBMQVlPVVQgU1RZTEVTIEhFUkUsIFBMRUFTRSA6KVxuXG4qKiovXG4uYy1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAzNHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1zaXRlLWxvZ28ge1xuICBtYXgtd2lkdGg6IDMxN3B4O1xuICBtYXgtaGVpZ2h0OiA3OXB4OyB9XG5cbi5jLWhlYWRlci1uYXYge1xuICBtYXJnaW46IDA7IH1cblxuLmMtaGVhZGVyLW5hdl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYy1oZWFkZXItbmF2X19saW5rIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtaGVhZGVyLW5hdi0tc2Vjb25kYXJ5IHtcbiAgbWFyZ2luOiAwIDAgMTRweCAwOyB9XG5cbi5jLWhlYWRlci1uYXYtLXByaW1hcnkgLmMtaGVhZGVyLW5hdl9faXRlbSB7XG4gIG1hcmdpbjogMCAzMnB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWhlYWRlci1uYXYtLXNlY29uZGFyeSAuYy1oZWFkZXItbmF2X19pdGVtIHtcbiAgbWFyZ2luOiAwIDE4cHggMCAwOyB9XG5cbi5jLWhlYWRlci1uYXYtLXByaW1hcnkgLmMtaGVhZGVyLW5hdl9faXRlbTpsYXN0LWNoaWxkLFxuLmMtaGVhZGVyLW5hdi0tc2Vjb25kYXJ5IC5jLWhlYWRlci1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYy1oZWFkZXItbmF2LS1zZWNvbmRhcnkgLmMtaGVhZGVyLW5hdl9fbGluayB7XG4gIGNvbG9yOiAjM0EzQzM5O1xuICBmb250LXNpemU6IDE1cHg7IH1cblxuLmMtaGVhZGVyLW5hdi5jLWhlYWRlci1uYXYtLXByaW1hcnkgLmMtaGVhZGVyLW5hdl9fbGluazphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4RUJCMzg7XG4gIGhlaWdodDogOHB4O1xuICB3aWR0aDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtMzdweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAvKiBlYXNlT3V0UXVhcnQgKi8gfVxuXG4uYy1oZWFkZXItbmF2LmMtaGVhZGVyLW5hdi0tcHJpbWFyeSAuYy1oZWFkZXItbmF2X19saW5rOmhvdmVyOmFmdGVyLFxuLmMtaGVhZGVyLW5hdi5jLWhlYWRlci1uYXYtLXByaW1hcnkgLmMtaGVhZGVyLW5hdl9fbGluay0taXMtYWN0aXZlOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5jLWhlYWRlci1uYXYtLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jLWhlYWRlciAudW9zLW1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG5cbi8qKipcbkZPT1RFUiBTVFlMRVNcblxuU3R5bGVzIHRoZSBtYWluIGZvb3RlciBmb3IgdGhlIGVudGlyZSB3ZWJzaXRlLlxuKioqL1xuLmMtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2MzOTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDU1cHggMCAwIDA7IH1cblxuLmMtZm9vdGVyIC5jZWxsIHtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG5cbi5jLWZvb3RlciAuZ3JpZC14LmdyaWQtcGFkZGluZy14IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwcHggMCA1M3B4OyB9XG5cbi5jLWZvb3Rlcl9faGVhZGVyIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMCAwIDMycHggMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uYy1mb290ZXJfX2hlYWRlcjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtZm9vdGVyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM3NkJEMjI7IH1cblxuLnQ0RWRpdC1wYWdlLFxuLmMtY29weXJpZ2h0IHAsXG4uYy1mb290ZXJfX2xpbmssXG4uYy1mb290ZXIgcCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmMtZm9vdGVyIGxpIHtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7IH1cblxuLmMtZm9vdGVyIC5jLWZvb3Rlcl9fYWRkcmVzcyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmMtZm9vdGVyX19saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmMtZm9vdGVyX19jb250YWN0IC5jLWZvb3Rlcl9fbGluayB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmMtZm9vdGVyX19jb250YWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vZGlzdC9jc3MvaW1hZ2VzL21hcHMvZm9vdGVyLW1hcC1zY290bGFuZC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDc1JSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwcHg7XG4gIG1pbi1oZWlnaHQ6IDI1NHB4OyB9XG5cbi5jLWZvb3Rlcl9fY29udGFjdCBsaSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4uYy1mb2xsb3dfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDEwcHggMDsgfVxuXG4uYy1mb290ZXJfX2xpbmstLXNvY2lhbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYy1mb2xsb3dfX2xpbms6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4uYy1mb290ZXIgW2NsYXNzKj1cInVvcy1cIl0ge1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLmMtZm9vdGVyX19saW5rLS1mYWNlYm9vazpob3ZlciB7XG4gIGNvbG9yOiAjM2I1OTk4OyB9XG5cbi5jLWZvb3Rlcl9fbGluay0taW5zdGFncmFtOmhvdmVyIHtcbiAgY29sb3I6ICMxMjU2ODg7IH1cblxuLmMtZm9vdGVyX19saW5rLS10d2l0dGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxREExRjI7IH1cblxuLmMtZm9vdGVyX19saW5rLS15b3V0dWJlOmhvdmVyIHtcbiAgY29sb3I6ICNmZjAwMDA7IH1cblxuLmMtZm9vdGVyX19saW5rLS1saW5rZWRpbjpob3ZlciB7XG4gIGNvbG9yOiAjMDA3YmI1OyB9XG5cbi5jLWZvb3Rlcl9fYnRkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5jLWZvb3Rlcl9fYnRkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2QkQyMjtcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiA5OTk5cHg7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4uYy1jb3B5cmlnaHQge1xuICBwYWRkaW5nOiAwIDAgNzBweCAwOyB9XG5cbi50NEVkaXQtcGFnZTpob3ZlciB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcblNjcm9sbCBUbyBUb3AgQnV0dG9uXG4qL1xuLmMtc2Nyb2xsLXRvLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAzMHB4O1xuICByaWdodDogMzBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMDUsIDU2LCAwLjkpO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLmMtc2Nyb2xsLXRvLXRvcF9fdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDsgfVxuXG4uYy1zY3JvbGwtdG8tdG9wOmhvdmVyLFxuLmMtc2Nyb2xsLXRvLXRvcDpmb2N1cyB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1mb290ZXJfX2NvbnRhY3Qge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDc1JSAxMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTU1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtZm9vdGVyIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgLmMtZm9vdGVyX19oZWFkZXIge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gIC5jLWNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogNDBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWZvb3RlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDAgMDsgfVxuICAuYy1mb290ZXJfX2FjY3JlZGl0YXRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jLWZvb3Rlcl9fYnRkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA0MHB4IDAgMCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jLWZvb3Rlcl9fYnRkOmFmdGVyIHtcbiAgICBjb250ZW50OiBpbml0aWFsOyB9XG4gIC5jLWNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDQwcHg7IH0gfVxuXG4vKioqXG5JTlRFUk5BTCBIRUFERVIgU1RZTEVTXG5cblN0eWxlcyB0aGUgaGVhZGVyIGZvciB0aGUgaW50ZXJuYWwgcGFnZXMgb2YgdGhlIHdlYnNpdGUuXG4qKiovXG4uaGVhZGVyLS1pbnRlcm5hbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY1ZjQ7IH1cblxuLmhlYWRlci0taW50ZXJuYWwgYSxcbi5oZWFkZXItLWludGVybmFsIC51b3MtbWFnbmlmeWluZy1nbGFzcyB7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmhlYWRlci0taW50ZXJuYWwgLnNlYXJjaC1idXR0b24ge1xuICBtYXJnaW46IDAgMjVweCAwIDEwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5oZWFkZXItLWludGVybmFsIC5zZWFyY2gtYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuXG4vKioqXG5CVVJHRVIgTUVOVSBTVFlMRVNcblxuU3R5bGVzIHRoZSBidXJnZXIgbWVudXMuXG4qKiovXG4uYnVyZ2VyIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmJ1cmdlciBzcGFuIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLWluLW91dCAwLjNzOyB9XG5cbi5idXJnZXIgc3Bhbixcbi5idXJnZXIgc3BhbjpiZWZvcmUsXG4uYnVyZ2VyIHNwYW46YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDY5Mzg7IH1cblxuLmJ1cmdlciBzcGFuOmJlZm9yZSxcbi5idXJnZXIgc3BhbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmJ1cmdlciBzcGFuOmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5idXJnZXIgc3BhbjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5idXJnZXIubmF2LWlzLW9wZW4gc3BhbiB7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGVhc2UtaW4tb3V0IDAuM3M7IH1cblxuLmJ1cmdlci5uYXYtaXMtb3BlbiBzcGFuOmJlZm9yZSB7XG4gIHRvcDogMTFweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zczsgfVxuXG4uYnVyZ2VyLm5hdi1pcy1vcGVuIHNwYW46YWZ0ZXIge1xuICBib3R0b206IDlweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7IH1cblxuLyoqKlxuSU5URVJOQUwgSEVBREVSIE1FTlVcbioqKi9cbi5oZWFkZXItLWludGVybmFsLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0O1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5oaWRkZW4tbGlua3MgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMDsgfVxuXG4uaGlkZGVuLWxpbmtzIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cblxuLmhlYWRlci0taW50ZXJuYWwtbWVudSB1bCB7XG4gIGJvcmRlci10b3A6IDNweCBzb2xpZCAjRDREMkNDO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cblxuLmhlYWRlci0taW50ZXJuYWwtbWVudSBhIHtcbiAgY29sb3I6ICM3NTc3NzQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMzBweCAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5oZWFkZXItLWludGVybmFsLW1lbnUgYSB7XG4gICAgY29sb3I6ICMzQTNDMzk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAuaW50ZXJuYWwtcGFnZXMgLmhlYWRlci0taW50ZXJuYWwtbWVudSAuaW50ZXJuYWwtaW5kZXgtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9IH1cblxuLyoqKlxuSU5URVJOQUwgQlJFQURDUlVNQlNcbioqKi9cbi8qKipcbklOVEVSTkFMIEJVUkdFUiBNRU5VIFNUWUxFU1xuKioqL1xuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogMjNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMC43cmVtIDAgMC43ZW0gMXJlbTsgfVxuXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbiB7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zczsgfVxuXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3Bhbixcbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudSBzcGFuOmJlZm9yZSxcbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudSBzcGFuOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzJCRUI2OyB9XG5cbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudSBzcGFuOmJlZm9yZSxcbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudSBzcGFuOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDsgfVxuXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudS5uYXYtaXMtb3BlbiBzcGFuIHtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zczsgfVxuXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUubmF2LWlzLW9wZW4gc3BhbjpiZWZvcmUge1xuICB0b3A6IDEwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7IH1cblxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51Lm5hdi1pcy1vcGVuIHNwYW46YWZ0ZXIge1xuICBib3R0b206IDEwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzOyB9XG5cbi5pbnRlcm5hbC1wYWdlcy1tb2JpbGUtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtaGVhZGVyLXNlYXJjaCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzsgfVxuXG4uYy1oZWFkZXItc2VhcmNoIC5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMzQTNDMzk7XG4gIG9wYWNpdHk6IDAuMzsgfVxuXG4uYy1oZWFkZXItc2VhcmNoX19pbnB1dC13cmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtaGVhZGVyLXNlYXJjaCAuY29udGVudCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLmMtaGVhZGVyLXNlYXJjaCBpbnB1dFtuYW1lPSdxdWVyeSddIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jLWhlYWRlci1zZWFyY2ggaW5wdXQgKyBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDBweDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMzQTNDMzk7IH1cblxuLmMtaGVhZGVyLXNlYXJjaF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtaGVhZGVyLXNlYXJjaF9fcmVzdWx0cyBmaWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmMtaGVhZGVyLXNlYXJjaF9fcmVzdWx0cyBmaWVsZHNldCBpbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDsgfVxuXG4uYy1oZWFkZXItc2VhcmNoX19yZXN1bHRzIGZpZWxkc2V0IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuXG4uYy1oZWFkZXItc2VhcmNoX19yZXN1bHRzIGZpZWxkc2V0IGlucHV0OmZvY3VzICsgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jLWhlYWRlci1zZWFyY2hfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzAwNjkzODsgfVxuXG4uYy1oZWFkZXItc2VhcmNoX19pdGVtIHtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG4gIC5jLWhlYWRlci1zZWFyY2hfX2l0ZW0gcCB7XG4gICAgZm9udC1zaXplOiAxMDAlOyB9XG4gIC5jLWhlYWRlci1zZWFyY2hfX2l0ZW0gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmMtaGVhZGVyLXNlYXJjaF9fY29sdW1uIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gIC5jLWhlYWRlci1zZWFyY2hfX2NvbHVtbiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uYy1oZWFkZXItc2VhcmNoX19zdWdnZXN0aW9ucyAuYy1oZWFkZXItc2VhcmNoX19pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmMtaGVhZGVyLXNlYXJjaF9fc3VnZ2VzdGlvbnMgLmMtaGVhZGVyLXNlYXJjaF9faXRlbSAuYy1oZWFkZXItc2VhcmNoX19oaWdobGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLypcbk1vYmlsZSBtZW51IHN0dWZmXG4qL1xuI3NsaWRlcixcbi5jLW1vYmlsZS1tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi5jLW1vYmlsZS1tZW51LS12aXNpYmxlIHtcbiAgcmlnaHQ6IDAlOyB9XG5cbi5jLW1vYmlsZS1tZW51X19jb250ZW50LS1zaGluayB7XG4gIGhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogUG9zaXRpb24gYW5kIHN0eWxlIHRoZSBjbG9zZSBidXR0b24gKHRvcCByaWdodCBjb3JuZXIpICovXG4jc2xpZGVyIC5jbG9zZWJ0bixcbi5jLW1vYmlsZS1tZW51IC5jbG9zZWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICByaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBtYXJnaW4tbGVmdDogNTBweDtcbiAgei1pbmRleDogMTAwMDAwMDA7IH1cblxudWwuc2xpZGVtZW51LFxudWwuc2xpZGVtZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZWVlOyB9XG5cbnVsLnNsaWRlbWVudSBsaSA+IHVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgdHJhbnNpdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qIEhvbWUgKi9cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmM6Zmlyc3QtY2hpbGQgYSxcbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmM6Zmlyc3QtY2hpbGQgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNzc2RTY0O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxMjAlOyB9XG5cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmM6Zmlyc3QtY2hpbGQgYSAuc2xpZGVtZW51X19ob21lLXRleHQsXG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaTpudGgtY2hpbGQoMikgYS5zbGlkZW1lbnVfX2dvdG8tbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQmFjayBsaW5rcyAqL1xudWwuc2xpZGVtZW51IHVsW2RhdGEtaGFzLWRyaWxsZG93bl0gbGkuc2xpZGVtZW51X19iYWNrIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEyMCU7IH1cblxudWwuc2xpZGVtZW51IHVsW2RhdGEtaGFzLWRyaWxsZG93bl0gbGkuc2xpZGVtZW51X19iYzpmaXJzdC1jaGlsZCBhOjpiZWZvcmUsXG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaS5zbGlkZW1lbnVfX2JhY2sgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2EgXCI7XG4gIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICBmb250LXNpemU6IDgwJTsgfVxuXG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaS5zbGlkZW1lbnVfX2hvbWUtbGluayBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7IH1cblxuLyogdGl0bGUgKi9cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fdGl0bGUgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RTlDNkI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTIwJTsgfVxuXG4vKiBTdWJtZW51IGxpbmtzICovXG51bC5zbGlkZW1lbnUgbGkuc2xpZGVtZW51X19zdWJpdGVtLFxudWwuc2xpZGVtZW51IGxpLnNsaWRlbWVudV9fZ290byB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxudWwuc2xpZGVtZW51IGxpLnNsaWRlbWVudV9fc3ViaXRlbSA+IGEsXG51bC5zbGlkZW1lbnUgbGkuc2xpZGVtZW51X19nb3RvID4gYSB7XG4gIHBhZGRpbmc6IDIwcHggMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGNvbG9yOiAjM0I2OTM4O1xuICAvKnRyYW5zaXRpb246IDAuM3M7Ki9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMzBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOEVCQjM4OyB9XG5cbnVsLnNsaWRlbWVudSBsaS5zbGlkZW1lbnVfX2dvdG8ge1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuXG51bC5zbGlkZW1lbnVfX2N1cnJlbnQgPiBsaS5zbGlkZW1lbnVfX3N1Yml0ZW06bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cblxudWwuc2xpZGVtZW51X19jdXJyZW50ID4gbGkuc2xpZGVtZW51X19zdWJpdGVtOmxhc3Qtb2YtdHlwZSA+IGEge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbnVsLnNsaWRlbWVudSBsaS5zbGlkZW1lbnVfX2hhcy1zdWJtZW51ID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdiXCI7XG4gIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjJweDtcbiAgcmlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbnVsLnNsaWRlbWVudSAuc2xpZGVtZW51X19vdGhlci1saW5rcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cbiAgdWwuc2xpZGVtZW51IC5zbGlkZW1lbnVfX290aGVyLWxpbmtzIGEge1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIHVsLnNsaWRlbWVudSAuc2xpZGVtZW51X19vdGhlci1saW5rcyBhOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwidW9zXCI7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBjb2xvcjogIzNCNjkzODsgfVxuICB1bC5zbGlkZW1lbnUgLnNsaWRlbWVudV9fb3RoZXItbGlua3MgLnNsaWRlbWVudV9fb3RoZXItbGlua3MtcG9ydGFsIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1Y1wiOyB9XG4gIHVsLnNsaWRlbWVudSAuc2xpZGVtZW51X19vdGhlci1saW5rcyAuc2xpZGVtZW51X19vdGhlci1saW5rcy1jb250YWN0IGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2NlwiOyB9XG4gIHVsLnNsaWRlbWVudSAuc2xpZGVtZW51X19vdGhlci1saW5rcyAuc2xpZGVtZW51X19vdGhlci1saW5rcy1zZWFyY2ggYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNmXCI7IH1cblxuLm1lZ2FtZW51IHtcbiAgYmFja2dyb3VuZDogI2Y2ZjVmNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDAwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRvcDogMTAwJTsgfVxuICAubWVnYW1lbnUgLm1lZ2FtZW51X19wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICAgICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICAgIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAubWVnYW1lbnUgLm1lZ2FtZW51X19saW5rcyA+IHVsID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgICAgIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgY29sb3I6ICMwMDY5Mzg7IH1cbiAgICAgICAgICAgIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAgICAgICAgIC5tZWdhbWVudSAubWVnYW1lbnVfX2xpbmtzID4gdWwgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjM0EzQzM5OyB9XG4gICAgICAgICAgICAgICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fbGlua3MgPiB1bCA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5tZWdhbWVudSAubWVnYW1lbnVfX3ByZXYtYnV0dG9uLFxuICAubWVnYW1lbnUgLm1lZ2FtZW51X19uZXh0LWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDY5Mzg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fcHJldi1idXR0b24gc3BhbixcbiAgICAubWVnYW1lbnUgLm1lZ2FtZW51X19uZXh0LWJ1dHRvbiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgLm1lZ2FtZW51IC5tZWdhbWVudV9fcHJldi1idXR0b246aG92ZXIsXG4gIC5tZWdhbWVudSAubWVnYW1lbnVfX25leHQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDlkOWQ5O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZWdhbWVudSAubWVnYW1lbnVfX3ByZXYtYnV0dG9uIHtcbiAgICBsZWZ0OiAtNTBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fcHJldi1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTdhXCI7XG4gICAgICBmb250LWZhbWlseTogXCJ1b3NcIjsgfVxuICAubWVnYW1lbnUgLm1lZ2FtZW51X19uZXh0LWJ1dHRvbiB7XG4gICAgcmlnaHQ6IC0yMHB4OyB9XG4gICAgLm1lZ2FtZW51IC5tZWdhbWVudV9fbmV4dC1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTdiXCI7XG4gICAgICBmb250LWZhbWlseTogXCJ1b3NcIjsgfVxuICAubWVnYW1lbnUgLm1lZ2FtZW51Om5vdChbZGF0YS1zbGlkZS1jb250cm9scz0ndHJ1ZSddKSAubWVnYW1lbnVfX3ByZXYtYnV0dG9uLFxuICAubWVnYW1lbnUgLm1lZ2FtZW51Om5vdChbZGF0YS1zbGlkZS1jb250cm9scz0ndHJ1ZSddKSAubWVnYW1lbnVfX25leHQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKipcblNJVEUgV0lERSBTVFlMRVNcbioqKi9cbmJvZHkgLmdyaWQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDc3LjVyZW07XG4gIG1heC13aWR0aDogOTAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICBib2R5IC5ncmlkLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA3Ny41cmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjMDA2OTM4OyB9XG5cbnAgYSxcbnRhYmxlIGEge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwNjkzODtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbi5hbHRtZXRyaWMtZW1iZWQgYSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxudWwubm8tc3R5bGUsXG51bC5uby1zdHlsZSB1bCxcbmxpLm5vLXN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmZvcm0sXG5pbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dCB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcblt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLFxuW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG5bdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxcblt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cyxcblt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxudGFibGUge1xuICBtYXJnaW46IDMwcHggMCAzMHB4IDA7IH1cblxudGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKioqXG5CVVRUT05TXG5cblN0eWxlcyBhbGwgYnV0dG9ucyB1c2VkIHRocm91Z2hvdXQgdGhlIHNpdGUuXG4qKiovXG4vKlxuQmFjayB0byBtYWluIHdlYnNpdGUgYnV0dG9uXG4qL1xuYS5iYWNrLXRvLW1haW4tc2l0ZSB7XG4gIGNvbG9yOiAjMDA2OTM4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIGEuYmFjay10by1tYWluLXNpdGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBtYXJnaW46IDIwcHggMCAwIDA7IH0gfVxuXG4vKioqXG5IT09LIFNUWUxFU1xuXG5TdHlsZXMgYSBob29rIHVuZGVyIHRoZSBjb250ZW50IHdyYXBwZWQgd2l0aCB0aGUgY2xhc3MgJy5ob29rJy5cbioqKi9cbi5ob29rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhvb2stcmlnaHQge1xuICBwYWRkaW5nOiAwIDIwcHggMjBweCAwOyB9XG5cbi5ob29rLWxlZnQge1xuICBwYWRkaW5nOiAwIDAgMjBweCAyMHB4OyB9XG5cbi5ob29rOmJlZm9yZSxcbi5ob29rOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmhvb2s6YmVmb3JlIHtcbiAgaGVpZ2h0OiAzMXB4O1xuICB3aWR0aDogN3B4OyB9XG5cbi5ob29rLXJpZ2h0OmJlZm9yZSB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5ob29rLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogMDsgfVxuXG4uaG9vazphZnRlciB7XG4gIGhlaWdodDogOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKioqXG5ISUdITElHSFQgU1RZTEVTXG5cblN0eWxlcyBhIHNob3J0IGhpZ2hsaWdodCBsaW5lIHVuZGVyIHRoZSBjb250ZW50IHdyYXBwZWQgd2l0aCB0aGUgY2xhc3MgJy5oaWdsaWdodCcuXG4qKiovXG4uaGlnaGxpZ2h0IHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGlnaGxpZ2h0OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NkJEMjI7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNjdweDtcbiAgaGVpZ2h0OiA4cHg7IH1cblxuLmNhbGxvdXQtYnV0dG9ucyB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDsgfVxuXG4uYnV0dG9uLWNhbGxvdXQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1pbi13aWR0aDogMzUwcHg7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIHBhZGRpbmc6IDMzcHggNTBweDsgfVxuXG4uYy1oZWFkZXItbmF2X19pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLypcbkhFQURFUiBTVFlMRVNcbioqKi9cbmgxLCBoMiwgaDMsXG5oNCwgaDUsIGg2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmgyLCBoMywgaDQsXG5oNSwgaDYge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuaDEge1xuICBjb2xvcjogIzAwNjkzODtcbiAgZm9udC1mYW1pbHk6IFwiRlNNYWphXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDcycHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gIG1heC13aWR0aDogMjBjaDsgfVxuXG5oMixcbmgyID4gc3Ryb25nIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbmgyLFxuaDMsXG4uYy13eXNpd3lnLWNvbnRlbnQgaDI6Zmlyc3Qtb2YtdHlwZSxcbi5jLXd5c2l3eWctY29udGVudCBoMzpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICBwYWRkaW5nOiAwIDAgNDBweCAwOyB9XG5cbi5jLXd5c2l3eWctY29udGVudCBoMixcbi5jLXd5c2l3eWctY29udGVudCBoMyxcbi5jLXd5c2l3eWctY29udGVudCA+IHAgKyBoMjpmaXJzdC1vZi10eXBlLFxuLmMtd3lzaXd5Zy1jb250ZW50ID4gcCArIGgzOmZpcnN0LW9mLXR5cGUsXG4uYy13eXNpd3lnLWNvbnRlbnQgdWwgKyBoMjpmaXJzdC1vZi10eXBlLFxuLmMtd3lzaXd5Zy1jb250ZW50IHVsICsgaDM6Zmlyc3Qtb2YtdHlwZSxcbi5jLXd5c2l3eWctY29udGVudCBvbCArIGgyOmZpcnN0LW9mLXR5cGUsXG4uYy13eXNpd3lnLWNvbnRlbnQgb2wgKyBoMzpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiA2MHB4IDAgNDBweCAwOyB9XG5cbmgyOmFmdGVyLFxuaDM6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2QkQyMjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDhweDsgfVxuXG4vKiBTZWxlY3QgaDIncyBhbmQgaDMncyBhZnRlciBhIHJlc3BvbnNpdmUgdmlkZW8gdG8gbGVzc2VuIHRoZSBzcGFjZSBiZXR3ZWVuLiAqL1xuLmMtcmVzcG9uc2l2ZS1lbWJlZCArIGgyLFxuLmMtcmVzcG9uc2l2ZS1lbWJlZCArIGgzIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwOyB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaDQsIGg1IHtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweCAwOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAyMnB4OyB9XG5cbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuaDYge1xuICBtYXJnaW46IDIwcHggMCAxMHB4IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDU4cHg7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgIG1heC13aWR0aDogaW5pdGlhbDsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzNnB4OyB9XG4gIC5jLXd5c2l3eWctY29udGVudCBoMixcbiAgLmMtd3lzaXd5Zy1jb250ZW50IGgzLFxuICAuYy13eXNpd3lnLWNvbnRlbnQgPiBwICsgaDI6Zmlyc3Qtb2YtdHlwZSxcbiAgLmMtd3lzaXd5Zy1jb250ZW50ID4gcCArIGgzOmZpcnN0LW9mLXR5cGUsXG4gIC5jLXd5c2l3eWctY29udGVudCB1bCArIGgyOmZpcnN0LW9mLXR5cGUsXG4gIC5jLXd5c2l3eWctY29udGVudCB1bCArIGgzOmZpcnN0LW9mLXR5cGUsXG4gIC5jLXd5c2l3eWctY29udGVudCBvbCArIGgyOmZpcnN0LW9mLXR5cGUsXG4gIC5jLXd5c2l3eWctY29udGVudCBvbCArIGgzOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogNDBweCAwOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgaDQsIGg1IHtcbiAgICBtYXJnaW46IDIwcHggMDsgfVxuICBoNiB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDQycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9IH1cblxuLypcbkV4Y2VwdGlvbnMgZm9yIGhlYWRlciB3aGVuIHBsYWNlZCBhZnRlciBjbGFzc2VzIGJlZ2lubmluZyBwYWRkaW5nLiB1LXBhZGRpbmctW3hdXG4qKiovXG4vKlxuUmVtb3ZlcyB0aGUgbWFyZ2luIGZyb20gaGVhZGVyIHdoZW4gcGxhY2VkIGRpcmVjdGx5IGFmdGVyICcudS1wYWRkaW5nLXRvcCcgb3IgJy51LXBhZGRpbmcteScuXG5BbHNvIGFwcGxpZWQgd2hlbiB1LXBhZGRpbmctdG9wIG9yIHUtcGFkZGluZy15IGlzIHBsYWNlZCBvbiBhIHdyYXBwZXIgZWxlbWVudCB3aXRoICcuYy13cmFwcGVyJy5cbiovXG4vKlxuUmVtb3ZlcyB0aGUgbWFyZ2luIGZvciBwYWdlIGhlYWRlcnMgdGhhdCBhcmUgYXV0b21hdGlhbGx5IG91dHB1dCBvbiBwYWdlLlxuVGhpcyBpcyBiZWNhdXNlIHRoZSB3cmFwcGluZyBkaXYgc3RvcHMgbWFyZ2luIGNvbGxhcHNlLlxuKioqL1xuLmMtYXV0b21hdGljLXBhZ2UtaGVhZGluZyB7XG4gIG1hcmdpbjogMDsgfVxuXG4uaGVhZGVyLXN0cmlwcGVkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uaGVhZGVyLXN0cmlwcGVkOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udS1oZWFkZXItLXNlY29uZGFyeS1mb250IHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnUtaGVhZGVyLS1tYXJnaW4tc3RyaXBwZWQge1xuICBtYXJnaW46IDAgMCAxMHB4ICFpbXBvcnRhbnQ7IH1cblxucCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG5wLCBsaSwgdGgsIHRkLCBsZWdlbmQge1xuICBmb250LXNpemU6IDIwcHg7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5wLnRleHQtbGFyZ2VyLCBwLmxlYWQge1xuICBmb250LXNpemU6IDI0cHg7IH1cblxudWwsIG9sLCBkbCB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG5cbnNwYW4uaWNvbi0tbGFyZ2Uge1xuICBmb250LXNpemU6IDgwcHg7IH1cblxuLyogQURESVRJT05BTCBUWVBPR1JBUEhZICovXG4vKioqXG5IMiBIZWFkZXJcbioqKi9cbi8qKipcbkgzIEhlYWRlclxuKioqL1xuLyoqKlxuSDQgSGVhZGVyXG4qKiovXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi51LWhlaWdodC0xMDAge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnUtY3Vyc29yLXBvaW50ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnUtcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udS1mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKipcbiAgICBUeXBvZ3JhcGh5XG4qKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51LWNvbHVtbi0tdHdvIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH0gfVxuXG4vKioqXG5cdFR5cG9ncmFwaHlcbioqKi9cbi51LWZvbnQtcHJpbWFyeSB7XG4gIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnUtY2FsbG91dC10ZXh0IHtcbiAgZm9udC1zaXplOiA5MHB4OyB9XG5cbi51LXRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udS1mb250LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnUtZm9udC1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnUtZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4vKioqXG4gICAgU3BhY2luZ1xuKioqL1xuLypcbk1hcmdpblxuKioqKioqL1xuLnUtbWFyZ2luLXkge1xuICBtYXJnaW46IDYwcHggYXV0bzsgfVxuXG4udS1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udS1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnUtbWFyZ2luLXkge1xuICAgIG1hcmdpbjogNDBweCBhdXRvOyB9XG4gIC51LW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnUtbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi8qXG5QYWRkaW5nXG4qKioqKiovXG4udS1wYWRkaW5nLXkge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cblxuLnUtcGFkZGluZy10b3Age1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4udS1wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAudS1wYWRkaW5nLXkge1xuICAgIHBhZGRpbmc6IDQwcHggMDsgfVxuICAudS1wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgLnUtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9IH1cblxuLyoqKlxuU29jaWFsIE1lZGlhIEljb25zIC0gQ29sb3VyXG4qKiovXG4uYy1pY29uLXR3aXR0ZXIge1xuICBjb2xvcjogIzU1YWNlZTsgfVxuXG4uYy1pY29uLWZhY2Vib29rIHtcbiAgY29sb3I6ICMzYjU5OTg7IH1cblxuLmMtaWNvbi1pbnN0YWdyYW0ge1xuICBjb2xvcjogIzEyNTY4ODsgfVxuXG4uYy1pY29uLXlvdXR1YmUge1xuICBjb2xvcjogI2ZmMDAwMDsgfVxuXG4uYy1pY29uLWxpbmtlZGluIHtcbiAgY29sb3I6ICMwMDdiYjU7IH1cblxuLmMtc29jaWFsLWxpc3Qgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAwIDA7IH1cblxuLyoqKlxuVmlkZW8gTWFzdGhlYWRcbioqKi9cbi5jLXZpZGVvLW1hc3RoZWFkIHtcbiAgbWF4LWhlaWdodDogNjg5cHg7XG4gIG1pbi1oZWlnaHQ6IDY4OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtdmlkZW8tbWFzdGhlYWQgdmlkZW8ge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLmMtdmlkZW8tbWFzdGhlYWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uYy12aWRlby1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuXG4uYy12aWRlby1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbGluZS1oZWlnaHQ6IDg1JTtcbiAgbWFyZ2luOiAwIDAgODFweCAwOyB9XG5cbi5jLXZpZGVvLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDMxcHg7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDEwNnB4O1xuICB3aWR0aDogOTk5OXB4O1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI0ZGRkZGRjsgfVxuXG4uYy12aWRlby1tYXN0aGVhZC0tb3BhY2l0eSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLXZpZGVvLW1hc3RoZWFkIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICAuYy12aWRlby1tYXN0aGVhZCB2aWRlbyB7XG4gICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiA1MXB4O1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDsgfVxuICAuYy12aWRlby1tYXN0aGVhZF9fY2FsbG91dC10ZXh0OmFmdGVyIHtcbiAgICByaWdodDogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy12aWRlby1tYXN0aGVhZF9faW1hZ2Uge1xuICAgIGhlaWdodDogNDcwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuYy12aWRlby1tYXN0aGVhZCB7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5jLXZpZGVvLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAuYy12aWRlby1tYXN0aGVhZF9fY2FsbG91dC10ZXh0OmFmdGVyIHtcbiAgICByaWdodDogNDBweDsgfSB9XG5cbi8qKipcbllvdXIgU3R1ZHkgUm91dGVcbioqKi9cbi5jLXN0dWR5LXJvdXRlIHtcbiAgbWFyZ2luOiAxMTBweCAwOyB9XG5cbi5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICBwYWRkaW5nOiA2OXB4IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmMtc3R1ZHktcm91dGUtLW92ZXJsYXkgLmMtc3R1ZHktcm91dGVfX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtc3R1ZHktcm91dGUtLW92ZXJsYXkgLmMtc3R1ZHktcm91dGVfX2JvZHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IC0yNTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcbiAgLmMtc3R1ZHktcm91dGVfX2J1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICAgIHBhZGRpbmc6IDQ5cHggMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1zdHVkeS1yb3V0ZSB7XG4gICAgbWFyZ2luOiA3MHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmMtc3R1ZHktcm91dGUge1xuICAgIG1hcmdpbjogNjBweCAwOyB9XG4gIC5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICAgIHBhZGRpbmc6IDM0cHggMjBweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtc3R1ZHktcm91dGUge1xuICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDsgfVxuICAuYy1zdHVkeS1yb3V0ZV9fYnV0dG9uIHtcbiAgICBtYXJnaW46IDEwcHggMDsgfVxuICAuYy1zdHVkeS1yb3V0ZS0tb3ZlcmxheSAuYy1zdHVkeS1yb3V0ZV9fYm9keSB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbi8qKipcblByb21vIEFyZWFcbioqKi9cbi5jLXByb21vLWFyZWEuc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbjogMCAwIDEzMHB4IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmMtcHJvbW8tYXJlYV9fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmMtcHJvbW8tYXJlYV9fY29udGVudCBoMjphZnRlcixcbi5jLXByb21vLWFyZWFfX2NvbnRlbnQgaDM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYy1wcm9tb19faGVhZGVyIHtcbiAgZm9udC1zaXplOiA5MHB4O1xuICBsaW5lLWhlaWdodDogNzZweDtcbiAgbWFyZ2luOiAwIDAgMTZweCAwOyB9XG5cbi5jLXByb21vX19zdWJoZWFkZXIge1xuICBjb2xvcjogI0Q0MTU2ODtcbiAgZm9udC1zaXplOiA0NnB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jLXByb21vX19oZWFkZXIsXG4uYy1wcm9tb19fc3ViaGVhZGVyIHtcbiAgcGFkZGluZzogMCAxNXB4IDIwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLXByb21vX19oZWFkZXI6YWZ0ZXIsXG4uYy1wcm9tb19fc3ViaGVhZGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDk5OTlweDtcbiAgaGVpZ2h0OiAzMXB4O1xuICBsZWZ0OiBpbml0aWFsO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAgIzhFQkIzODtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICAjOEVCQjM4OyB9XG5cbi5jLXByb21vX19oZWFkZXIsXG4uYy1wcm9tb19fc3ViaGVhZGVyLFxuLmMtcHJvbW9fX2luZm8ge1xuICBmb250LWZhbWlseTogJ0ZTTWFqYScsIHNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jLXByb21vX19pbmZvIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzhweDsgfVxuXG4uYy1wcm9tby1hcmVhX19oMiB7XG4gIGZvbnQtc2l6ZTogMzNweDsgfVxuXG4uYy1wcm9tby1hcmVhX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiA0NXB4OyB9XG5cbi5jLXByb21vLWFyZWFfX2NvbnRlbnQge1xuICB3aWR0aDogNDEuMiU7XG4gIHBhZGRpbmc6IDMwcHg7IH1cblxuLmMtcHJvbW8tYXJlYS0taGVpZ2h0IHtcbiAgbWluLWhlaWdodDogNzAwcHg7IH1cblxuLmMtcHJvbW8tYXJlYV9faW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA1MyU7XG4gIG1hcmdpbi1sZWZ0OiAtMyU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4uYy1wcm9tby1hcmVhX19pbWFnZVtzdHlsZSo9J2JhY2tncm91bmQtaW1hZ2UnXSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uYy1wcm9tby1hcmVhX19pbWFnZS1zbGlkZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtcHJvbW8tYXJlYV9faW1hZ2Utc2xpZGUgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYy1wcm9tby1hcmVhX19pbWFnZS1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwMHB4O1xuICB3aWR0aDogMzAwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB6LWluZGV4OiAxMDAwMDAwOyB9XG4gIC5jLXByb21vLWFyZWFfX2ltYWdlLWNhcHRpb24gcCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jLXByb21vLWFyZWEgdWwuc2xpY2stZG90cyB7XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy1wcm9tb19faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDYycHg7IH1cbiAgLmMtcHJvbW9fX3N1YmhlYWRlciB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9XG4gIC5jLXByb21vX19pbmZvIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgLmMtcHJvbW8tYXJlYS0taGVpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1wcm9tby1hcmVhLS1oZWlnaHQge1xuICAgIG1pbi1oZWlnaHQ6IDM3NHB4OyB9XG4gIC5jLXByb21vLWFyZWFfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmMtcHJvbW8tYXJlYV9faW1hZ2Uge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC01JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1wcm9tby1hcmVhLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMCAwIDgwcHggMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1wcm9tby1hcmVhIHVsLnNsaWNrLWRvdHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDMwcHggMDsgfVxuICAuYy1wcm9tby1hcmVhLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYy1wcm9tby1hcmVhX19jb250ZW50LFxuICAuYy1wcm9tby1hcmVhX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmMtcHJvbW8tYXJlYS0taGVpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gIC5jLXByb21vLWFyZWEge1xuICAgIG1hcmdpbjogMCAwIDU1cHggMDsgfVxuICAuYy1wcm9tby1hcmVhX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDsgfSB9XG5cbi8qKipcblN0YXRpc3RpY3NcbioqKi9cbi5jLXN0YXRpc3RpYy1ibG9jayB7XG4gIHBhZGRpbmc6IDY3cHggMDsgfVxuXG4uYy1zdGF0aXN0aWMge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbi5jLXN0YXRpc3RpY19fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMjZweDsgfVxuXG4uYy1zdGF0aXN0aWNfX3RleHQge1xuICBtYXJnaW46IDA7IH1cblxuLmMtc3RhdGlzdGljX19jYWxsb3V0LXRleHQge1xuICBmb250LXNpemU6IDE0MHB4O1xuICBsaW5lLWhlaWdodDogMC43O1xuICBtYXJnaW46IDAgMCAxMHB4IDA7IH1cblxuLmMtc3RhdGlzdGljX19jYWxsb3V0LXRleHQtLXNtYWxsZXIge1xuICBmb250LXNpemU6IDg4cHg7IH1cblxuLmMtc3RhdGlzdGljX19yZWZlcmVuY2UtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uYy1zdGF0aXN0aWNfX2ljb24ge1xuICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cblxuLmMtc3RhdGlzdGljIFtjbGFzcyo9XCJ1b3MtXCJdIHtcbiAgZm9udC1zaXplOiAxNDBweDsgfVxuXG4vKioqXG5JbnRlcm5hdGlvbmFsIFNlY3Rpb25cbioqKi9cbi5jLWludGVybmF0aW9uYWwtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jLWludGVybmF0aW9uYWxfX3RleHQtY29udGFpbmVyIHtcbiAgY29sb3I6ICMzQjY5M0Q7XG4gIHBhZGRpbmc6IDUwcHggNjBweDtcbiAgbWluLXdpZHRoOiA0NzVweDtcbiAgbWF4LXdpZHRoOiA0NzVweDsgfVxuXG4uYy1pbnRlcm5hdGlvbmFsX190ZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5jLWludGVybmF0aW9uYWxfX2ljb24ge1xuICBtYXgtaGVpZ2h0OiA4MHB4OyB9XG5cbi5jLWludGVybmF0aW9uYWxfX2JhY2tncm91bmQtb3ZlcmxheSB7XG4gIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uYy1pbnRlcm5hdGlvbmFsX19oZWFkZXIge1xuICBmb250LXNpemU6IDU1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5jLWludGVybmF0aW9uYWxfX2xpbmsge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jLWludGVybmF0aW9uYWwtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAuYy1pbnRlcm5hdGlvbmFsX190ZXh0LWNvbnRhaW5lciB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICAgIG1heC13aWR0aDogaW5pdGlhbDsgfVxuICAuYy1pbnRlcm5hdGlvbmFsX19iYWNrZ3JvdW5kLW92ZXJsYXkge1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDsgfVxuICAuYy1pbnRlcm5hdGlvbmFsX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogNDVweDsgfVxuICAuYy1pbnRlcm5hdGlvbmFsX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLmMtaW50ZXJuYXRpb25hbF9fbGluayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi8qKipcbkhvbWVwYWdlIE5ld3MgYW5kIEV2ZW50c1xuKioqL1xuLmMtaG9tZXBhZ2UtbmV3cy1ldmVudHMgaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5jLWhvbWVwYWdlLW5ld3MtZXZlbnRzIC5jLW5ld3MtZXZlbnRzX19uZXdzIC5jLW5ld3MtZXZlbnRzX19hcnRpY2xlOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKioqXG5OZXdzIGFuZCBFdmVudHNcbioqKi9cbi5jLW5ld3MtZXZlbnRzX19oZWFkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyMHB4IDMxcHggMDsgfVxuXG4uYy1uZXdzLWV2ZW50cy1oZWFkZXIgPiAubGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYy1uZXdzLWV2ZW50c19fdGl0bGUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmMtbmV3cy1ldmVudHNfX3RpdGxlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1uZXdzLWV2ZW50c19fc3VtbWFyeSB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uYy1uZXdzLWV2ZW50c19fYXJ0aWNsZS1tZXRhLFxuLmMtbmV3cy1ldmVudHNfX25ld3MgLmMtbmV3cy1ldmVudHNfX3RpbWUsXG4uYy1uZXdzLWV2ZW50c19fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxNnB4IDA7IH1cblxuLmMtbmV3cy1ldmVudHNfX3RpbWUsXG4uYy1uZXdzLWV2ZW50c19fZXZlbnQtbG9jYXRpb24ge1xuICBjb2xvcjogIzVCNTY0RTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmMtbmV3cy1ldmVudHNfX25ld3MgLmMtbmV3cy1ldmVudHNfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5jLW5ld3MtZXZlbnRzX19uZXdzIC5jLW5ld3MtZXZlbnRzX19hcnRpY2xlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDY1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udmlkZW8td3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmlkZW8td3JhcCBoMSB7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXNpemU6IDcwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnZpZGVvLXdyYXAgLmdyYWRpZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4udmlkZW8tdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDYlIDAgMCA0JTtcbiAgei1pbmRleDogMTsgfVxuXG4ucHJvbW8ge1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ucHJvbW8gPiAuZ3JpZC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL2dyZWVuLW1hcC5wbmdcIik7XG4gIHBhZGRpbmc6IDg1cHggMDsgfVxuXG4ucHJvbW8tLWNhbGVuZGFyIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnByb21vLS1jYWxlbmRhci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9tbyAudW9zLWNhbGVuZGFyIHtcbiAgZm9udC1zaXplOiAxMzBweDsgfVxuXG4ucHJvbW8tLWNhbGVuZGFyIC5kYXRlIHtcbiAgZm9udC1mYW1pbHk6IFwiRlNNYWphXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDgwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb21vLS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwNjkzODtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucmVzZWFyY2gge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3Jlc2VhcmNoLWltYWdlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBtYXJnaW46IDExNXB4IDAgMjAwcHg7XG4gIHBhZGRpbmc6IDEwOHB4IDA7IH1cblxuLnJlc2VhcmNoIGgxIHtcbiAgbWFyZ2luOiAwIDAgNjBweCAwOyB9XG5cbi5yZXNlYXJjaC0tYXJ0aWNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIHBhZGRpbmc6IDYwcHg7IH1cblxuLnJlc2VhcmNoLS1hcnRpY2xlIGgyIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgbWFyZ2luOiAwIDAgNTBweCAwOyB9XG5cbi5yZXNlYXJjaCAuY2FsbG91dC1idXR0b25zIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0xNzBweDsgfVxuXG4uaW50ZXJuYXRpb25hbCAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogODIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaW50ZXJuYXRpb25hbC0tZmVhdHVyZS1pbWFnZSB7XG4gIGJvdHRvbTogNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogMzYwcHg7IH1cblxuLmNlbGwuaW50ZXJuYXRpb25hbC0tY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgcGFkZGluZzogNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7IH1cblxuLmludGVybmF0aW9uYWwtLWNvbnRlbnQgcCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmludGVybmF0aW9uYWwtLWNvbnRlbnQgLnVvcy1nbG9iZSB7XG4gIGNvbG9yOiAjNzZCRDIyO1xuICBmb250LXNpemU6IDcycHg7XG4gIG1hcmdpbjogMCA0MHB4IDAgMDsgfVxuXG4uaW50ZXJuYXRpb25hbC0tY29udGVudCBzdXAge1xuICBmb250LXNpemU6IDUwcHg7XG4gIHRvcDogLTEuMmVtOyB9XG5cbi5jaGV2cm9uLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbi5saW5rIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGZvbnQtc2l6ZTogMjNweDsgfVxuXG4vKiBDT1VSU0VTICovXG4vKioqXG5IZWFkZXIgZm9yIENvdXJzZSBQYWdlc1xuKioqL1xuLmMtY291cnNlLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJGU01hamFcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWNvdXJzZS10aXRsZV9faGVhZGluZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYy1jb3Vyc2UtdGl0bGVfX3VjYXMtY29kZXMge1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLmMtY291cnNlLW9wdGlvbnMge1xuICBtYXJnaW4tbGVmdDogMzJweDsgfVxuICAuYy1jb3Vyc2Utb3B0aW9ucyBbY2xhc3NePVwidW9zLVwiXSwgLmMtY291cnNlLW9wdGlvbnMgW2NsYXNzKj1cIiB1b3MtXCJdIHtcbiAgICBjb2xvcjogIzAwNjkzODsgfVxuXG4uYy1jb3Vyc2Utb3B0aW9uc19faWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uYy1jb3Vyc2Utb3B0aW9uc19fdG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDY7IH1cblxuLmMtY291cnNlLW9wdGlvbnNfX2ljb246aG92ZXIgLmMtY291cnNlLW9wdGlvbnNfX3Rvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYy1jb3Vyc2UtdGl0bGVfX2xvZ29zIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5jLWNvdXJzZS10aXRsZV9fbG9nb3MgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jLWNvdXJzZS10aXRsZV9fbG9nb3MgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuYy1jb3Vyc2UtdGl0bGVfX2xvZ29zIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuYy1jb3Vyc2UtdGl0bGVfX2xvZ29zIHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC5jLWNvdXJzZS10aXRsZV9fbG9nb3MgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmMtY291cnNlLXRpdGxlX19idXR0b25zIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jLWNvdXJzZS10aXRsZV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMjhweCAyMHB4IDA7IH1cbiAgICAuYy1jb3Vyc2UtdGl0bGVfX2J1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnVfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDIxcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmMtY291cnNlLXRpdGxlLXN0aWNreS1tZW51X190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4uYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnVfX2J1dHRvbnMge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnVfX2J1dHRvbnMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDI4cHggMjBweCAwOyB9XG4gICAgLmMtY291cnNlLXRpdGxlLXN0aWNreS1tZW51X19idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmMtY291cnNlLXRpdGxlLXN0aWNreS1tZW51X19idXR0b25zIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jLWNvdXJzZS10aXRsZS1zdGlja3ktbWVudV9fYnV0dG9ucyAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAxOHB4IDIwcHggMDsgfSB9XG5cbi5jLWNvdXJzZS10YWJzX190YWJzLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSxcbi5jLWNvdXJzZS10YWJzX190YWJzLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3Zlcixcbi5jLWNvdXJzZS10YWJzX190YWJzLnRhYnMtLWRhcmsuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzNBM0MzOTsgfVxuXG4uYy1jb3Vyc2UtdGFic19fdGFicy50YWJzLS1kYXJrLmFjY29yZGlvbiA+IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0OyB9XG5cbi5jLWNvdXJzZS10YWJzX190YWJzLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jLWNvdXJzZS10YWJzX190YWJzLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICMzNzNhMzY7IH0gfVxuXG4uYy1jb3Vyc2UtdGFic19fY29udGVudC13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICAuYy1jb3Vyc2UtdGFic19fY29udGVudC13cmFwcGVyIHAsIC5jLWNvdXJzZS10YWJzX19jb250ZW50LXdyYXBwZXIgbGksIC5jLWNvdXJzZS10YWJzX19jb250ZW50LXdyYXBwZXIgdGgsIC5jLWNvdXJzZS10YWJzX19jb250ZW50LXdyYXBwZXIgdGQge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uYy1jb3Vyc2Utb3ZlcnZpZXdfX3ByaW1hcnktYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jdWctb3ZlcnZpZXctYWNjb3JkaW9uX19raXMtd2lkZ2V0IC5zbGljay1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3R0b206IC0zMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiN1Zy1vdmVydmlldy1hY2NvcmRpb25fX2tpcy13aWRnZXQgLnNsaWNrLWFycm93IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jdWctb3ZlcnZpZXctYWNjb3JkaW9uX19raXMtd2lkZ2V0IC5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbiNjb3Vyc2UtbW9kdWxlcy1kZXNjcmlwdGlvbl9faGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4jY291cnNlLW1vZHVsZXMtZGVzY3JpcHRpb25fX2JvZHkgcCwgI2NvdXJzZS1tb2R1bGVzLWRlc2NyaXB0aW9uX19ib2R5IGxpLCAjY291cnNlLW1vZHVsZXMtZGVzY3JpcHRpb25fX2JvZHkgdGgsICNjb3Vyc2UtbW9kdWxlcy1kZXNjcmlwdGlvbl9fYm9keSB0ZCB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fdGFibGUge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgLmMtY291cnNlLW1vZHVsZXNfX3RhYmxlIHRib2R5IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDE0cHggc29saWQgI2Y2ZjVmNDsgfVxuICAgIC5jLWNvdXJzZS1tb2R1bGVzX190YWJsZSB0Ym9keSB0ciB0ciwgLmMtY291cnNlLW1vZHVsZXNfX3RhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19tb2R1bGUtbm90LWF2YWlsYWJsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtY291cnNlLW1vZHVsZXNfX3RhYmxlICsgLmMtY291cnNlLW1vZHVsZXNfX2NvbGxlY3Rpb24taGVhZGVyLFxuLmMtY291cnNlLW1vZHVsZXNfX3ZpZXctbW9yZS1saW5rICsgLmMtY291cnNlLW1vZHVsZXNfX2NvbGxlY3Rpb24taGVhZGVyLFxuLmMtY291cnNlLW1vZHVsZXNfX3BkbS1ub3RlICsgLmMtY291cnNlLW1vZHVsZXNfX2NvbGxlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19kaXZpZGUge1xuICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gIGJhY2tncm91bmQ6ICMwMDY5Mzg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19tb2R1bGUtY29kZSB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fYWNjb3JkaW9uLWNvbnRlbnQtLWhpZGUtcm93cyB0cjpudGgtb2YtdHlwZSg1KSB+IHRyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fcGRtLW5vdGUge1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19jb2xsZWN0aW9uLWhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jLWNvdXJzZS1tb2R1bGVzX19jb2xsZWN0aW9uLWhlYWRlciArIHRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19jb2xsZWN0aW9uLW5vdGVzIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNvdXJzZS1tb2R1bGVzX19sb2FkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4uYy1sb2NhbC1jdXJyZW5jeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtbG9jYWwtY3VycmVuY3lfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYy1sb2NhbC1jdXJyZW5jeV9fdmFsdWUge1xuICBmb250LXNpemU6IDIwMCU7IH1cblxuLmMtbG9jYWwtY3VycmVuY3lfX25vdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuI3VnLWNvdXJzZS10YWJzX19jb3Vyc2UtZGV0YWlscyAuYy1zZWN0aW9uLWhlYWRpbmcsICN1Zy1jb3Vyc2UtdGFic19fY291cnNlLWRldGFpbHMgLmMtc2VhcmNoLXJlc3VsdF9fbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLmMtY291cnNlLWZlZXNfX3RhYmxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuYy1jb3Vyc2UtZmVlc19fdGFibGUgdGJvZHkgdHIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvdXJzZS1mZWVzLXRhYmxlX190dWl0aW9uLWZlZS1ub3RlIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4uYy1jb3Vyc2UtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmMtY291cnNlLXJlbGF0ZWRfX2J1dHRvbnMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmMtY291cnNlLXJlbGF0ZWRfX2J1dHRvbnMgdWwgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzNhMzY7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDExcHggMTVweDtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cbiAgICAuYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB1bCBsaTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTk3YlwiO1xuICAgICAgZm9udC1mYW1pbHk6ICd1b3MnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDExcHg7IH1cbiAgICAuYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB1bCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzM3M2EzNjtcbiAgICAgIGNvbG9yOiAjMzczYTM2OyB9XG4gICAgICAuYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB1bCBsaTpob3ZlciBhLCAuYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB1bCBsaTpob3ZlciBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzM3M2EzNjsgfVxuICAgIC5jLWNvdXJzZS1yZWxhdGVkX19idXR0b25zIHVsIGxpIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC5jLWNvdXJzZS1yZWxhdGVkX19idXR0b25zIHVsIGxpIGEgKyBzdHJvbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA2MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB1bCBsaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jLWNvdXJzZS1yZWxhdGVkX19idXR0b25zIHVsIGxpIGEgKyBzdHJvbmcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jLWNvdXJzZS1yZWxhdGVkIHtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIHBhZGRpbmctbGVmdDogMTAwcHg7IH1cblxuLmMtd2hhdHMtbmV4dCB7XG4gIHBhZGRpbmc6IDgwcHggMDsgfVxuXG4uYy1jb3Vyc2Utd2hhdHMtbmV4dF9fd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMwMDY5Mzg7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxNnB4IDA7IH1cbiAgLmMtY291cnNlLXdoYXRzLW5leHRfX3dyYXBwZXIgaDMge1xuICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYy1jb3Vyc2Utd2hhdHMtbmV4dF9fbGluayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMTBweCAwOyB9XG4gIC5jLWNvdXJzZS13aGF0cy1uZXh0X19saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCIgXFxlOTdiXCI7XG4gICAgZm9udC1mYW1pbHk6IFwidW9zXCI7IH1cbiAgLmMtY291cnNlLXdoYXRzLW5leHRfX2xpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy13aGF0cy1uZXh0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jLWNvdXJzZS13aGF0cy1uZXh0X19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qIENPVU5UUklFUyAqL1xuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3F1ZXJ5LXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWNvdW50cnktc2VhcmNoX19xdWVyeSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNDRENEQ0Q7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAyLjgxMjVyZW0gMCAwO1xuICBwYWRkaW5nOiAxcmVtIDAgMXJlbSA0LjE4NzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9kaXN0L2Nzcy9pbWFnZXMvaWNvbnMvbWFnbmlmeS1jb3Vyc2Utc2VhcmNoLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4zcyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAuYy1jb3VudHJ5LXNlYXJjaF9fcXVlcnk6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjOEVCQjM4OyB9XG5cbi5jLWNvdW50cmllcy1sZXR0ZXJzIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuXG4uYy1jb3VudHJpZXMtbGV0dGVyc19fYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlIC8gMTMpO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC5jLWNvdW50cmllcy1sZXR0ZXJzX19ib3ggYSB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjVmNDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuYy1jb3VudHJpZXMtbGV0dGVyc19fYm94IGFbZGF0YS1kaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICNjNWJmYjc7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jLWNvdW50cmllc19fbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uYy1jb3VudHJpZXNfX2ltZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLyogRkFDVUxUSUVTICovXG4uYy1mYWN1bHR5LW1hc3RoZWFkIC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuICByaWdodDogLTMwcHg7IH1cblxuLmMtZmFjdWx0eS1pbnRybyB7XG4gIHBhZGRpbmc6IDcwcHggMDsgfVxuXG4uYy1mYWN1bHR5LXByb21vIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWZhY3VsdHktcHJvbW9fX2J1dHRvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC01MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmMtZmFjdWx0eS1wcm9tbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgbWluLWhlaWdodDogODUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtZmFjdWx0eS1wcm9tb19fYnV0dG9ucyB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbi5jLXNlY3Rpb24tYm94X19oZWFkaW5nIHtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICM3NkJEMjI7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbi5jLWZhY3VsdHktcmVzZWFyY2gtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDgwcHggMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uYy1mYWN1bHR5LWNvbnRhY3Qge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG5cbi8qICBTY2hvbGFyc2hpcHMgKi9cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaCB7XG4gIHBhZGRpbmc6IDUwcHggMDsgfVxuXG4uYy1zY2hvbGFyc2hpcC1zZWFyY2hfX2xvYWRpbmcsXG4uYy1zY2hvbGFyc2hpcC1zZWFyY2hfX3Jlc3VsdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHRzIHtcbiAgcGFkZGluZzogNTBweCAwOyB9XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHQge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHRfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uYy1zY2hvbGFyc2hpcC1zZWFyY2gtcmVzdWx0X19kZXRhaWwge1xuICBiYWNrZ3JvdW5kOiAjZjZmNWY0O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHRfX2RldGFpbHMgPiAuY2VsbDpmaXJzdC1jaGlsZCAuYy1zY2hvbGFyc2hpcC1zZWFyY2gtcmVzdWx0X19kZXRhaWwge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM3NkJEMjI7IH1cblxuLyogIFNjaG9sYXJzaGlwcyAqL1xuLmMtdGVzdGltb25pYWxzLXNlYXJjaCB7XG4gIHBhZGRpbmc6IDUwcHggMDsgfVxuXG4uYy10ZXN0aW1vbmlhbHMtc2VhcmNoX19sb2FkaW5nLFxuLmMtdGVzdGltb25pYWxzLXNlYXJjaF9fcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLmMtdGVzdGltb25pYWwtcmVzdWx0X19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmMtdGVzdGltb25pYWwtcmVzdWx0IHtcbiAgd2lkdGg6IDMzLjMzMyU7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy10ZXN0aW1vbmlhbC1yZXN1bHQge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtdGVzdGltb25pYWwtcmVzdWx0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qKipcbklOVEVSTkFMIEhPTUVQQUdFXG5cblN0eWxlcyB0aGUgaW50ZXJuYWwgaG9tZXBhZ2UgZm9yIHRoZSB3ZWJzaXRlLlxuKioqL1xuLmMtaGVhZGVyLWJ1cmdlciB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDhweCAxNnB4IDVweDsgfVxuXG4uYy1oZWFkZXItYnVyZ2VyX19idW4sXG4uYy1oZWFkZXItYnVyZ2VyX19idW46YmVmb3JlLFxuLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlM2UzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNXB4OyB9XG5cbi5jLWhlYWRlci1idXJnZXJfX2J1biB7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zczsgfVxuXG4uYy1oZWFkZXItYnVyZ2VyX19idW46YmVmb3JlLFxuLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uYy1oZWFkZXItYnVyZ2VyX19idW46YmVmb3JlIHtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLyouYy1oZWFkZXItYnVyZ2VyLm5hdi1pcy1vcGVuIC5jLWhlYWRlci1idXJnZXJfX2J1biB7XG4gICAgd2lkdGg6IDA7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLWluLW91dCAwLjNzO1xufVxuLmMtaGVhZGVyLWJ1cmdlci5uYXYtaXMtb3BlbiAuYy1oZWFkZXItYnVyZ2VyX19idW46YmVmb3JlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzO1xufVxuLmMtaGVhZGVyLWJ1cmdlci5uYXYtaXMtb3BlbiAuYy1oZWFkZXItYnVyZ2VyX19idW46YWZ0ZXIge1xuICAgIGJvdHRvbTogMTBweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7XG59Ki9cbi8qKipcbkludGVybmFsIE1hc3RoZWFkXG4qKiovXG4uYy1pbWFnZS10ZXh0LWJsb2NrLS1pbnRlcm5hbCA+IC5ncmlkLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4OyB9XG5cbi5jLWltYWdlLXRleHQtYmxvY2stLWludGVybmFsIC5jLWltYWdlLXRleHQtYmxvY2tfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLmludHJvIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLmludHJvIGgxIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGZvbnQtc2l6ZTogMzZweDsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLmludHJvIHAge1xuICBmb250LXNpemU6IDI2cHg7IH1cblxuLmludGVybmFsLXNlYXJjaC1iYXIge1xuICBtYXJnaW46IDYwcHggMDsgfVxuXG4uaW50ZXJuYWwtaW5kZXgge1xuICBwYWRkaW5nOiAwIDAgNjBweDsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLmludGVybmFsLWluZGV4LWNvbHVtbnMsXG4uaW50ZXJuYWwtcGFnZXMgLmhlYWRlci0taW50ZXJuYWwtbWVudSB1bCB7XG4gIGNvbHVtbi1jb3VudDogMzsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgdWwge1xuICAvKlxuXHQtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHQgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHQgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICovIH1cblxuLmludGVybmFsLWluZGV4IGgyIHtcbiAgY29sb3I6ICMzQTNDMzk7XG4gIGZvbnQtZmFtaWx5OiBcIkZTTWFqYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLmludGVybmFsLWluZGV4IGE6aG92ZXIge1xuICBjb2xvcjogIzAwNjkzODsgfVxuXG4uaW50ZXJuYWwtcGFnZXMgLnBsYWNlaG9sZGVyIC51b3MtbWFnbmlmeWluZy1nbGFzcyB7XG4gIGNvbG9yOiAjMDA2OTM4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuaW50ZXJuYWwtcGFnZXMgLmludGVybmFsLWluZGV4LWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaW50ZXJuYWwtcGFnZXMgLmludGVybmFsLWluZGV4LWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzNXB4KSB7XG4gIC5pbnRlcm5hbC1pbmRleCBoMiB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC8qKipcblx0SU5URVJOQUwgQUNDT1JESU9OXG5cdCoqKi9cbiAgLmFjY29yZGlvbi1zZWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNBM0MzOTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjVweCAwOyB9XG4gIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tdGl0bGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIGNvbG9yOiAjMDA2OTM4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tc3RhdGU6Y2hlY2tlZCArIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24gLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi10aXRsZTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLWxpc3Qge1xuICAgIC8qXG5cdFx0bWFyZ2luOiAwO1xuXHQgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0ICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIHRvcDogMTAwJTtcblx0ICAgIGxlZnQ6IDA7XG5cdCAgICB3aWR0aDogMTAwJTtcbiBcdCAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cdCAgICB6LWluZGV4OiAtMTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XG4qLyB9XG4gIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tc3RhdGU6Y2hlY2tlZCArIC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24gLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi1saXN0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgei1pbmRleDogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cblxuLyoqKlxuSU5URVJOQUwgQUNDT1JESU9OXG5cbioqKi9cbi5hY2NvcmRpb24tc2VjdGlvbiB7XG4gIG1hcmdpbjogMCAwIDQwcHg7IH1cblxuLmFjY29yZGlvbi1jb2x1bW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi1zdGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgei1pbmRleDogMjsgfVxuXG4uYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLWl0ZW0gYSB7XG4gIGNvbG9yOiAjOGU4ZThlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5pbnRlcm5hbC1zZWFyY2gtYmFyIHtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9XG4gIC5pbnRlcm5hbC1wYWdlcyAuaW50cm8gaDEge1xuICAgIGZvbnQtc2l6ZTogMjhweDsgfVxuICAuaW50ZXJuYWwtcGFnZXMgLmludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuaW50ZXJuYWwtcGFnZXMgLnBsYWNlaG9sZGVyIC51b3MtbWFnbmlmeWluZy1nbGFzcyB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9IH1cblxuLyoqKlxuSU5URVJOQUwgT1ZFUlZJRVcgUEFHRVxuXG5TdHlsZXMgdGhlIGludGVybmFsIG92ZXJ2aWV3IHBhZ2VzIGZvciB0aGUgd2Vic2l0ZS5cbioqKi9cbi5pbnRlcm5hbC1wYWdlLWNvbnRlbnQgaHIge1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Y2ZjVmNDtcbiAgbWFyZ2luOiAxLjZyZW0gMCAyLjNyZW07IH1cblxuLmludGVybmFsLXBhZ2UtY29udGVudCAuYmItbm90ZSB7XG4gIGZvbnQtc2l6ZTogMC45cmVtOyB9XG5cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudC1oZWFkZXIgaDEge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7IH1cblxuLyogcmsgKi9cbi5pbnRlcm5hbC1iYW5uZXIgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC5wcm9tby1ib3ggaDIge1xuICBtYXJnaW4tdG9wOiAwcmVtOyB9XG5cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCAucHJvbW8tYm94IHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gIGZvbnQtc2l6ZTogNHJlbTsgfVxuXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB7XG4gIGJhY2tncm91bmQ6ICMzQjY5Mzg7XG4gIHBhZGRpbmc6IDQwcHggMjBweDsgfVxuXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyBoMiB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCAudXNlZnVsLWxpbmtzIHVsIHtcbiAgY29sdW1uLWNvdW50OiAzO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB1bCB7XG4gICAgY29sdW1uLWNvdW50OiAxOyB9IH1cblxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC51c2VmdWwtbGlua3MgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB1bCBsaSBhIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC51c2VmdWwtbGlua3MgdWwgbGkgYTo6YWZ0ZXIsXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB1bCBsaSBhLmJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAulwiO1xuICBsZWZ0OiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogZW5kIHJrICovXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgcC5sZWFkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNUY0O1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkICM3NkJEMjI7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gb2wsIC5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIHVsIHtcbiAgY291bnRlci1yZXNldDogaXRlbTtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gIGNvbHVtbi1jb3VudDogMjtcbiAgbWFyZ2luOiAwOyB9XG5cbi5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIGxpIHtcbiAgY29sb3I6ICMwMDY5Mzg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDE1cHggMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIGxpIGEge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwNjkzODsgfVxuXG4uaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiBsaTpiZWZvcmUge1xuICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgY29udGVudDogY291bnRlcihpdGVtKSBcIi4gXCI7XG4gIGZvbnQtc2l6ZTogMjJweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiB1bCB7XG4gICAgY29sdW1uLWNvdW50OiAxOyB9IH1cblxuLmludGVybmFsLXNpZGViYXItbWVudSBuYXYge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDMwcHg7IH1cblxuLmludGVybmFsLXNpZGViYXItbWVudSBhIHtcbiAgY29sb3I6ICM3NDZFNjQ7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLmludGVybmFsLXNpZGViYXItbWVudSBzcGFuIHtcbiAgY29sb3I6ICM3NDZFNjQ7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IC5tdWx0aWxldmVsLWxpbmt1bC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgLm11bHRpbGV2ZWwtbGlua3VsLTEgc3BhbltjbGFzcyo9XCJjdXJyZW50XCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgLm11bHRpbGV2ZWwtbGlua3VsLTEgc3BhbltjbGFzcyo9XCJjdXJyZW50XCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzc2QkQyMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmludGVybmFsLXNpZGViYXItbWVudSBzcGFuLmN1cnJlbnRicmFuY2gwIGEsXG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW4uY3VycmVudGJyYW5jaDEgYSB7XG4gIGNvbG9yOiAjMDA2OTM4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgdWwubXVsdGlsZXZlbC1saW5rdWwtMCBhIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgdWxbY2xhc3MqPVwibXVsdGlsZXZlbFwiXSB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4uaW50ZXJuYWwtcGFnZXMtbW9iaWxlLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNUY0O1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW46IDAgMCAzNXB4IDA7IH1cblxuLmludGVybmFsLXN1Yi1zZWN0aW9uLS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogODVweCAwIDAgMDsgfVxuXG4uaW50ZXJuYWwtc3ViLXNlY3Rpb24tLWJ1dHRvbiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y2RjVGNDtcbiAgcGFkZGluZzogMjVweCA0MHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMjVweDsgfVxuXG4vKiByayAqL1xuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi1pdGVtIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbi5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tbGlzdCBsaSB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi1saXN0ID4gbGkgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1mYW1pbHk6IFwiRlNNYWphXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgY29sb3I6ICMzQjY5M0Q7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIG9sIHtcbiAgICBjb2x1bW4tY291bnQ6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogMzVweCAzMHB4IDI1cHg7IH1cbiAgLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gbGkge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMzBweDsgfVxuICAuaW50ZXJuYWwtc2lkZWJhci1tZW51IGxpLmN1cnJlbnRicmFuY2gwOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTkzYyc7XG4gICAgZm9udC1mYW1pbHk6ICd1b3MnOyB9IH1cblxuLyoqKlxuQWNjb21tb2RhdGlvbiBQYWdlc1xuKioqL1xuLypcbkFjY29tbW9kYXRpb24gU2VhcmNoXG4qKiovXG4uYy1hY2NvbW1vZGF0aW9uLXNlYXJjaCB7XG4gIHBhZGRpbmc6IDUwcHggMDsgfVxuXG4uYy1hY2NvbW1vZGF0aW9uLXNlYXJjaF9fbG9hZGluZyxcbi5jLWFjY29tbW9kYXRpb24tc2VhcmNoX19yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYy1hY2NvbW1vZGF0aW9uLXNlYXJjaF9faWNvbi1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uYy1hY2NvbW1vZGF0aW9uLXNlYXJjaF9faWNvbi1saXN0IC5pY29uLWxpc3RfX2xpc3QtaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qXG5BY2NvbW1vZGF0aW9uIEtleSBJbmZvXG4qKiovXG4uYy1hY2NvbW0ta2V5LWluZm8gPiBkaXYge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmMtYWNjb21tLWtleS1pbmZvIHAge1xuICBtYXJnaW46IDA7IH1cblxuLmMtYWNjb21tLWtleS1pbmZvID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYy1hY2NvbW0ta2V5LWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgbWFyZ2luOiAwIDMwcHggMCAwOyB9XG5cbi5jLWFjY29tbS1hZGRpdGlvbmFsLWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4uYy1hY2NvbW0ta2V5LWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdLFxuLmMtYWNjb21tLWFkZGl0aW9uYWwtaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICBjb2xvcjogIzAwNjkzODtcbiAgZm9udC1zaXplOiA3MnB4OyB9XG5cbi8qXG5BY2NvbW1vZGF0aW9uIEFkZGl0b25hbCBJbmZvXG4qKiovXG4uYy1hY2NvbW0tYWRkaXRpb25hbC1pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1hY2NvbW0ta2V5LWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdLFxuICAuYy1hY2NvbW0tYWRkaXRpb25hbC1pbmZvIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gICAgZm9udC1zaXplOiA1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWFjY29tbS1rZXktaW5mbyA+IGRpdiB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmMtYWNjb21tLWtleS1pbmZvIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5jLWFjY29tbS1rZXktaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDsgfVxuICAuYy1hY2NvbW0tYWRkaXRpb25hbC1pbmZvIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuXG4vKlxuQWNjb21tb2RhdGlvbiBtYXBzXG4qKiovXG4uYy1hY2NvbW1vZGF0aW9uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDI4JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1hY2NvbW1vZGF0aW9uLW1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1hY2NvbW1vZGF0aW9uLW1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTsgfSB9XG5cbi5jLXNlYXJjaC1maWx0ZXJzLW1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmMtc2VhcmNoLWZpbHRlcnMtbWVudSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5jLXNlYXJjaC1maWx0ZXJzLW1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEwMCU7IH1cbiAgICAuYy1zZWFyY2gtZmlsdGVycy1tZW51IGxpIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6ICMzQTNDMzk7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2VhZTllODsgfVxuICAgICAgLmMtc2VhcmNoLWZpbHRlcnMtbWVudSBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjNzZCRDIyO1xuICAgICAgICBjb2xvcjogIzAwNjkzODsgfVxuXG4uYy1zZWFyY2gtZmlsdGVycy1wYW5lbCB7XG4gIHBhZGRpbmc6IDMwcHggMDsgfVxuICAuYy1zZWFyY2gtZmlsdGVycy1wYW5lbCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmMtc2VhcmNoLWZpbHRlcnMtcGFuZWxfX2ZpbHRlciBsYWJlbFtkYXRhLWRpc2FibGVkXSB7XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jLXNlYXJjaC1vcmRlcmVkLWZpbHRlcnMgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlOWU4O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4uYy1zZWFyY2gtcmVzdWx0X19saW5rIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmMtc2VhcmNoLXJlc3VsdF9fY291cnNlLXN0YXRzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYy1zZWFyY2gtcmVzdWx0c19fbG9hZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmMtc2l0ZS1zZWFyY2hfX2RlZXAtc2VhcmNoLWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzMwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSczNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzM1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc0MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc0NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzUwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzYwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzYwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc2MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzY1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc3MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249Jzc1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzc1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc3NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nODAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzgwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nODUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nODUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9Jzg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzkwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzkwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc5MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249Jzk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9Jzk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nOTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzk1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEwNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTA1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzExMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDExMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDExMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzExNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDExNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTE1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDExNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTIwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEyNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEzMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTMwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEzNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTM1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE0MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE0NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTQ1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE2MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTYwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTY1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE3MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE3NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTgwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE4NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE5MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTkwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTk1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIwNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjA1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIxMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIxNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjE1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjIwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIyNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIzMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjMwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIzNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjM1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI0MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI0NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjQ1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjUwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI1NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI2MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjYwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjY1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI3MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI3NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjgwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI4NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI5MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjkwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjk1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSczMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzMwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImxpbmVhclwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJsaW5lYXJcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZVwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pblwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAxLCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tYmFja1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWJhY2tcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1iYWNrXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWJhY2tcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtYmFja1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1iYWNrXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1zaW5lXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXNpbmVcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXNpbmVcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFkXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhZFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhZFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1xdWFkXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXF1YWRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhZFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tY3ViaWNcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWN1YmljXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWN1YmljXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFydFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhcnRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhcnRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpOyB9XG5cbi8qKlxuICogRmFkZSBhbmltYXRpb25zOlxuICogZmFkZVxuICogZmFkZS11cCwgZmFkZS1kb3duLCBmYWRlLWxlZnQsIGZhZGUtcmlnaHRcbiAqIGZhZGUtdXAtcmlnaHQsIGZhZGUtdXAtbGVmdCwgZmFkZS1kb3duLXJpZ2h0LCBmYWRlLWRvd24tbGVmdFxuICovXG5bZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cbiAgW2RhdGEtYW9zXj0nZmFkZSddW2RhdGEtYW9zXj0nZmFkZSddLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwcHgpOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwcHgpOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMHB4LCAxMDBweCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLXVwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMHB4LCAxMDBweCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDBweCwgLTEwMHB4KTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgLTEwMHB4KTsgfVxuXG4vKipcbiAqIFpvb20gYW5pbWF0aW9uczpcbiAqIHpvb20taW4sIHpvb20taW4tdXAsIHpvb20taW4tZG93biwgem9vbS1pbi1sZWZ0LCB6b29tLWluLXJpZ2h0XG4gKiB6b29tLW91dCwgem9vbS1vdXQtdXAsIHpvb20tb3V0LWRvd24sIHpvb20tb3V0LWxlZnQsIHpvb20tb3V0LXJpZ2h0XG4gKi9cbltkYXRhLWFvc149J3pvb20nXVtkYXRhLWFvc149J3pvb20nXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICBbZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10uYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMDBweCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMHB4KSBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMHB4LCAwKSBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0J10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwcHgpIHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwcHgpIHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwMHB4LCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwcHgsIDApIHNjYWxlKDEuMik7IH1cblxuLyoqXG4gKiBTbGlkZSBhbmltYXRpb25zXG4gKi9cbltkYXRhLWFvc149J3NsaWRlJ11bZGF0YS1hb3NePSdzbGlkZSddIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG4gIFtkYXRhLWFvc149J3NsaWRlJ11bZGF0YS1hb3NePSdzbGlkZSddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5bZGF0YS1hb3M9J3NsaWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLyoqXG4gKiBGbGlwIGFuaW1hdGlvbnM6XG4gKiBmbGlwLWxlZnQsIGZsaXAtcmlnaHQsIGZsaXAtdXAsIGZsaXAtZG93blxuICovXG5bZGF0YS1hb3NePSdmbGlwJ11bZGF0YS1hb3NePSdmbGlwJ10ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuXG5bZGF0YS1hb3M9J2ZsaXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoLTEwMGRlZyk7IH1cbiAgW2RhdGEtYW9zPSdmbGlwLWxlZnQnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7IH1cblxuW2RhdGEtYW9zPSdmbGlwLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgxMDBkZWcpOyB9XG4gIFtkYXRhLWFvcz0nZmxpcC1yaWdodCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTsgfVxuXG5bZGF0YS1hb3M9J2ZsaXAtdXAnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKC0xMDBkZWcpOyB9XG4gIFtkYXRhLWFvcz0nZmxpcC11cCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTsgfVxuXG5bZGF0YS1hb3M9J2ZsaXAtZG93biddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtZG93biddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgwKTsgfVxuXG4uYy1pbnQtc3RhdCBoMSB7XG4gIGZvbnQtc2l6ZTogMTEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbjogMDsgfVxuXG4uYy1pbnQtc3RhdCBwIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7IH1cblxuLmMtaW50LXN0YXQgc21hbGwge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLWludC1zdGF0IGgxIHtcbiAgICBmb250LXNpemU6IDEwMHB4OyB9XG4gIC5jLWludC1zdGF0IHAge1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy1pbnQtc3RhdCBoMSxcbiAgLmMtdGVhY2hpbmctc3RhdCBoMSB7XG4gICAgZm9udC1zaXplOiA3MnB4OyB9XG4gIC5jLWludC1zdGF0IHAge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1pbnQtc3RhdCBoMSxcbiAgLmMtdGVhY2hpbmctc3RhdCBoMSB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAuYy1pbnQtc3RhdCBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAuYy1pbnQtc3RhdCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYy1pbnQtc3RhdCBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLyoqKlxuS2V5ZnJhbWVzXG4qKiovXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMjVweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7IH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC0xNXB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTVweCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBiaWdCb3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTBweCk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7IH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC00MHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTE1cHgpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KTsgfSB9XG5cbi8qKipcblRvcCAxNTAgU3RhdGlzdGljXG4qKiovXG4uYy10b3AtMTUwLXN0YXQge1xuICBwYWRkaW5nOiAxMzdweCAwOyB9XG5cbi5jLXRvcC0xNTBfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYy10b3AtMTUwLXN0YXQgc3BhbltjbGFzcyo9XCItc3R1ZHktYWJyb2FkXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDI2MHB4OyB9XG5cbi5jLXRvcC0xNTAtc3RhdC5hbmltYXRlIHNwYW5bY2xhc3MqPVwiLXN0dWR5LWFicm9hZFwiXSB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDFzIGxpbmVhcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtdG9wLTE1MC1zdGF0IHtcbiAgICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gIC5jLXRvcC0xNTAtc3RhdCBzcGFuW2NsYXNzKj1cIi1zdHVkeS1hYnJvYWRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMjMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtdG9wLTE1MC1zdGF0IHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgLmMtdG9wLTE1MF9fd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuYy10b3AtMTUwLXN0YXQgc3BhbltjbGFzcyo9XCItc3R1ZHktYWJyb2FkXCJdIHtcbiAgICBmb250LXNpemU6IDEwMHB4OyB9IH1cblxuLyoqKlxuQWx1bW5pIFN0YXRpc3RpY1xuKioqL1xuLmMtYWx1bW5pLXN0YXQge1xuICBwYWRkaW5nOiAxNTBweCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd2ViY29tcG9uZW50cy9kaXN0L2ltYWdlcy9pbnRlcm5hdGlvbmFsLWhvbWVwYWdlL21hcC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmMtYWx1bW5pLXN0YXQgc3BhbltjbGFzcyo9XCItbG9jYXRpb25cIl0ge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuLmMtYWx1bW5pLXN0YXQgLnBpbiB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTYwcHg7IH1cblxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDAuNnM7IH1cblxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCgxbikge1xuICB0b3A6IDIwJTtcbiAgbGVmdDogMjklO1xuICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC4xcztcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDAuN3M7IH1cblxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCgyKSB7XG4gIHRvcDogMzElO1xuICBsZWZ0OiAzMSU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjJzO1xuICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMC44czsgfVxuXG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDMpIHtcbiAgdG9wOiA0OSU7XG4gIGxlZnQ6IDI3JTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDAuM3M7XG4gIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAwLjlzOyB9XG5cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoNCkge1xuICB0b3A6IDkwJTtcbiAgbGVmdDogMzglO1xuICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC40cztcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDFzOyB9XG5cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoNSkge1xuICB0b3A6IDIwJTtcbiAgbGVmdDogNjYlO1xuICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC41cztcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDEuMXM7IH1cblxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCg2KSB7XG4gIHRvcDogMjclO1xuICBsZWZ0OiA2NSU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjZzO1xuICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMS4yczsgfVxuXG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDcpIHtcbiAgdG9wOiA2NiU7XG4gIGxlZnQ6IDY0JTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDAuN3M7XG4gIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxLjNzOyB9XG5cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoOCkge1xuICB0b3A6IDg4JTtcbiAgbGVmdDogNzUlO1xuICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC44cztcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDEuNHM7IH1cblxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCg5KSB7XG4gIHRvcDogMzAlO1xuICBsZWZ0OiA3MiU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjlzO1xuICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMS41czsgfVxuXG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDEwKSB7XG4gIHRvcDogMjYlO1xuICBsZWZ0OiA3NyU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAxcztcbiAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDEuNnM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLmNlbnRlci1waW4ge1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLWFsdW1uaS1zdGF0IHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3dlYmNvbXBvbmVudHMvZGlzdC9pbWFnZXMvaW50ZXJuYXRpb25hbC1ob21lcGFnZS9tYXAtbW9iaWxlLnN2Z1wiKTsgfVxuICAuYy1hbHVtbmktc3RhdCBzcGFuW2NsYXNzKj1cIi1sb2NhdGlvblwiXSB7XG4gICAgZm9udC1zaXplOiAxMDBweDsgfSB9XG5cbi8qKipcblBhcnRuZXJzIFN0YXRpc3RpY1xuKioqL1xuLmMtcGFydG5lcnNfX2NvcHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDAgMCA1MHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYy1wYXJ0bmVycy1zdGF0IHtcbiAgcGFkZGluZzogMTQ1cHggMCA5NXB4O1xuICBtYXJnaW46IDE1OXB4IDAgMDsgfVxuXG4uYy1wYXJ0bmVyc19fZ3JvdXAxLFxuLmMtcGFydG5lcnNfX2dyb3VwMixcbi5jLXBhcnRuZXJzX19ncm91cDMsXG4uYy1wYXJ0bmVyc19fZ3JvdXA0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAuMDUsIDAuNjksIDAuMTQsIDEpOyB9XG5cbi5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXAxIHtcbiAgdG9wOiAtMTI3cHg7XG4gIHotaW5kZXg6IDE7IH1cblxuLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDIsXG4uYy1wYXJ0bmVycy1zdGF0LmFuaW1hdGUgLmMtcGFydG5lcnNfX2dyb3VwMyB7XG4gIHRvcDogLTExMHB4O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG5cbi5jLXBhcnRuZXJzX19ncm91cDIge1xuICBsZWZ0OiAtMzAwcHg7IH1cblxuLmMtcGFydG5lcnNfX2dyb3VwMyB7XG4gIHJpZ2h0OiAtMzAwcHg7IH1cblxuLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDQge1xuICB0b3A6IC0xNTBweDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC42czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmMtcGFydG5lcnMtc3RhdCB7XG4gICAgcGFkZGluZzogMTUwcHggMCA1MHB4O1xuICAgIG1hcmdpbjogMTAwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXBhcnRuZXJzLXN0YXQge1xuICAgIHBhZGRpbmc6IDEyMHB4IDAgMTBweDtcbiAgICBtYXJnaW46IDYwcHggMCAwOyB9XG4gIC5jLXBhcnRuZXJzX19ncm91cDEge1xuICAgIG1heC13aWR0aDogMTUwcHg7IH1cbiAgLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDEge1xuICAgIHRvcDogLTk3cHg7IH1cbiAgLmMtcGFydG5lcnNfX2dyb3VwMixcbiAgLmMtcGFydG5lcnNfX2dyb3VwMyB7XG4gICAgbWF4LXdpZHRoOiA5MnB4OyB9XG4gIC5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXAyLFxuICAuYy1wYXJ0bmVycy1zdGF0LmFuaW1hdGUgLmMtcGFydG5lcnNfX2dyb3VwMyB7XG4gICAgdG9wOiAtODNweDsgfVxuICAuYy1wYXJ0bmVycy1zdGF0LmFuaW1hdGUgLmMtcGFydG5lcnNfX2dyb3VwMiB7XG4gICAgbGVmdDogLTIxOXB4OyB9XG4gIC5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXAzIHtcbiAgICByaWdodDogLTIxOXB4OyB9XG4gIC5jLXBhcnRuZXJzX19ncm91cDQge1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDQge1xuICAgIHRvcDogLTEyMHB4OyB9IH1cblxuLyoqKlxuUmVzZWFyY2ggU3RhdGlzdGljXG4qKiovXG4uYy1yZXNlYXJjaC1zdGF0IHtcbiAgcGFkZGluZzogMTMycHggMDsgfVxuXG4uYy1mcmFjdGlvbi1oZWFkZXIsXG4uYy1mcmFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJGU01hamFcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAuODsgfVxuXG4uYy1mcmFjdGlvbi1oZWFkZXIge1xuICBmb250LXNpemU6IDY4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmMtZnJhY3Rpb24ge1xuICBmb250LXNpemU6IDE5MHB4OyB9XG5cbi5jLXJlc2VhcmNoX19taWNyb3Njb3BlIHtcbiAgbWFyZ2luOiAwIDAgMCA3MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1yZXNlYXJjaC1zdGF0IHtcbiAgICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gIC5jLXJlc2VhcmNoX19taWNyb3Njb3BlIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4OyB9XG4gIC5jLWZyYWN0aW9uIHtcbiAgICBmb250LXNpemU6IDE1MHB4OyB9XG4gIC5jLWZyYWN0aW9uLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiA1NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzcuNDM3NWVtKSB7XG4gIC5jLXJlc2VhcmNoX19taWNyb3Njb3BlIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbjogMCAwIDAgMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1yZXNlYXJjaC1zdGF0IHAge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1yZXNlYXJjaC1zdGF0IHtcbiAgICBwYWRkaW5nOiA0MHB4IDA7IH1cbiAgLmMtcmVzZWFyY2gtc3RhdCAuY2VsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuYy1yZXNlYXJjaC1zdGF0IC5jZWxsIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmMtZnJhY3Rpb24taGVhZGVyLFxuICAuYy1mcmFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5jLXJlc2VhcmNoX19taWNyb3Njb3BlIHtcbiAgICBvcmRlcjogMTsgfVxuICAuYy1yZXNlYXJjaC1zdGF0IGltZyB7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIG1heC13aWR0aDogMTA4cHg7IH1cbiAgLmMtcmVzZWFyY2gtc3RhdCBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLmMtcmVzZWFyY2gtc3RhdCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qKipcbk92ZXJzZWFzIFN0YXRpc3RpY1xuKioqL1xuLmMtb3ZlcnNlYXMtc3RhdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93ZWJjb21wb25lbnRzL2Rpc3QvaW1hZ2VzL2ludGVybmF0aW9uYWwtaG9tZXBhZ2UvcGxhbmVzLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIHBhZGRpbmc6IDEyNHB4IDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmMtb3ZlcnNlYXMtc3RhdCAuY2VsbCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYy1vdmVyc2Vhcy1zdGF0X193cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgMTUwcHggMDsgfVxuXG4uYy1vdmVyc2Vhcy1zdGF0IGgxIHtcbiAgZm9udC1zaXplOiAxOTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtb3ZlcnNlYXMtc3RhdCB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIHRvcDsgfVxuICAuYy1vdmVyc2Vhcy1zdGF0IGgxIHtcbiAgICBmb250LXNpemU6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLW92ZXJzZWFzLXN0YXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi93ZWJjb21wb25lbnRzL2Rpc3QvaW1hZ2VzL2ludGVybmF0aW9uYWwtaG9tZXBhZ2UvcGxhbmVzLW1vYmlsZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDI1JTtcbiAgICBwYWRkaW5nOiA0MHB4OyB9XG4gIC5jLW92ZXJzZWFzLXN0YXRfX3dyYXBwZXIge1xuICAgIG1hcmdpbjogMTUwcHggMCAwOyB9XG4gIC5jLW92ZXJzZWFzLXN0YXQgLmNlbGwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmMtb3ZlcnNlYXMtc3RhdCBoMSB7XG4gICAgZm9udC1zaXplOiA4MHB4OyB9IH1cblxuLyoqKlxuVGVhY2hpbmcgU3RhdGlzdGljXG4qKiovXG4uYy10ZWFjaGluZy1zdGF0IHtcbiAgcGFkZGluZzogMTY0cHggMDsgfVxuXG4uYy10ZWFjaGluZy1zdGF0IGgxIHtcbiAgZm9udC1zaXplOiA4NXB4OyB9XG5cbi5jLXRlYWNoaW5nLXN0YXQgaW1nIHtcbiAgbWFyZ2luOiAwIDAgNDBweCAwOyB9XG5cbi5jLXRlYWNoaW5nLXN0YXQuYW5pbWF0ZSBpbWc6bnRoLWNoaWxkKDFuKSB7XG4gIGFuaW1hdGlvbjogYmlnQm91bmNlIDFzIGxpbmVhcjsgfVxuXG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCgybikge1xuICBhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC4xczsgfVxuXG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCgzbikge1xuICBhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC4yczsgfVxuXG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCg0bikge1xuICBhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC4zczsgfVxuXG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCg1bikge1xuICBhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC40czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtdGVhY2hpbmctc3RhdCB7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy10ZWFjaGluZy1zdGF0IGgxIHtcbiAgICBmb250LXNpemU6IDU1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtdGVhY2hpbmctc3RhdCB7XG4gICAgcGFkZGluZzogNjBweDsgfVxuICAuYy10ZWFjaGluZy1zdGF0IGgxIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwOyB9XG4gIC5jLXRlYWNoaW5nLXN0YXQuYy1pbnQtc3RhdCBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmMtdGVhY2hpbmctc3RhdCBpbWcge1xuICAgIG1heC13aWR0aDogNDBweDsgfSB9XG5cbi8qKipcbiBMZWN0dXJlcnMgU3RhdGlzdGljXG4gKioqL1xuLmMtbGVjdHVyZXJzLXN0YXQge1xuICBwYWRkaW5nOiA3OXB4IDAgMDsgfVxuXG4uYy1sZWN0dXJlcnMtc3RhdCBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMTVweDsgfVxuXG4uYy1sZWN0dXJlcnMtc3RhdCBoMSB7XG4gIGZvbnQtc2l6ZTogMTkwcHg7IH1cblxuLmMtbGVjdHVyZXJzLXN0YXRfX3dyYXAsXG4uYy1sZWN0dXJlcnMtc3RhdCAuYy1pbnQtc3RhdF9fc2hhcmUge1xuICBwYWRkaW5nOiAwIDAgODBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmMtbGVjdHVyZXJzLXN0YXQgaDEge1xuICAgIGZvbnQtc2l6ZTogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3Ny40Mzc1ZW0pIHtcbiAgLmMtbGVjdHVyZXJzLXN0YXQgaDEge1xuICAgIGZvbnQtc2l6ZTogMTAwcHg7IH1cbiAgLmMtbGVjdHVyZXJzLXN0YXQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5jLWxlY3R1cmVycy1zdGF0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1sZWN0dXJlcnMtc3RhdCB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG4gIC5jLWxlY3R1cmVycy1zdGF0IGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDsgfVxuICAuYy1sZWN0dXJlcnMtc3RhdCBoMSB7XG4gICAgZm9udC1zaXplOiA4MHB4OyB9XG4gIC5jLWxlY3R1cmVycy1zdGF0X193cmFwLFxuICAuYy1sZWN0dXJlcnMtc3RhdCAuYy1pbnQtc3RhdF9fc2hhcmUge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKioqXG5DYW1wdXMgU3RhdFxuKioqL1xuLmMtY2FtcHVzIHtcbiAgcGFkZGluZzogMTA5cHggMCAwOyB9XG5cbi5jLWNhbXB1c19fc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYy1jYW1wdXNfX3N0YXQtd3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IDg1cHg7IH1cblxuLmMtY2FtcHVzX19wb2RpdW0ge1xuICBtYXgtd2lkdGg6IDQ4OXB4O1xuICBib3R0b206IC0xcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMnB4IDAgMDsgfVxuXG4uYy1jYW1wdXMuYW5pbWF0ZSAuYy1jYW1wdXNfX3Ryb3BoeSB7XG4gIGFuaW1hdGlvbjogdGFkYSAxcyBlYXNlLWluLW91dCAwLjFzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuYy1jYW1wdXMge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMDsgfVxuICAuYy1jYW1wdXNfX3Ryb3BoeSB7XG4gICAgbWF4LXdpZHRoOiAyMzBweDsgfVxuICAuYy1jYW1wdXNfX3BvZGl1bSB7XG4gICAgbWF4LXdpZHRoOiA0MzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1jYW1wdXNfX3N0YXQtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQ1cHg7IH1cbiAgLmMtY2FtcHVzX190cm9waHktd3JhcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAuYy1jYW1wdXNfX3Ryb3BoeSB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDsgfVxuICAuYy1jYW1wdXNfX3BvZGl1bSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1jYW1wdXMtc3RhdCB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG4gIC5jLWNhbXB1c19fc3RhdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuYy1jYW1wdXNfX3N0YXQtd3JhcCB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuYy1jYW1wdXNfX3Ryb3BoeS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmMtY2FtcHVzX19wb2RpdW0ge1xuICAgIG1heC13aWR0aDogMjUwcHg7IH0gfVxuXG4vKioqXG5XZWxjb21pbmcgU3RhdGlzdGljXG4qKiovXG4uYy13ZWxjb21pbmctc3RhdCBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogLTFweDsgfVxuXG4uYy13ZWxjb21pbmctc3RhdF9fd3JhcCB7XG4gIHBhZGRpbmc6IDE3M3B4IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLXdlbGNvbWluZy1zdGF0X193cmFwIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gIC5jLXdlbGNvbWluZy1zdGF0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy13ZWxjb21pbmctc3RhdCBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuYy13ZWxjb21pbmctc3RhdF9fd3JhcCB7XG4gICAgcGFkZGluZzogMCAwIDYwcHg7IH0gfVxuXG4vKioqXG5OYXRpb25hbGl0aWVzIFN0YXRpc3RpY1xuKioqL1xuLmMtbmF0aW9uYWxpdGllcyB7XG4gIHBhZGRpbmc6IDE5M3B4IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5jLW5hdGlvbmFsaXRpZXMge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtbmF0aW9uYWxpdGllcyB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG4gIC5jLW5hdGlvbmFsaXRpZXMgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9IH1cblxuLyoqKlxuU3R1ZGVudCBPcHRpb25zIEJsb2NrXG4qKiovXG4uYy1zdHVkeS1vcHRpb25zLWJsb2NrIHtcbiAgbWluLWhlaWdodDogNzQwcHg7IH1cblxuLmMtc3R1ZHktb3B0aW9ucy1ibG9ja19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDUwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5jLXN0dWR5LW9wdGlvbnMtYmxvY2sgLmMtcHJvbW8tYm94IHtcbiAgcGFkZGluZzogMjBweCAzMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1zdHVkeS1vcHRpb25zLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gIC5jLXN0dWR5LW9wdGlvbnMtYmxvY2tfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgODAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1zdHVkeS1vcHRpb25zLWJsb2NrX19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbi8qKipcblJlcXVlc3QgYSBwcm9zcGVjdHVzXG4qKiovXG4uYy1yZXF1ZXN0LXByb3NwZWN0dXMge1xuICBwYWRkaW5nOiA3MHB4IDA7IH1cblxuLmMtcmVxdWVzdC1wcm9zcGVjdHVzIGgxIHtcbiAgZm9udC1zaXplOiA3NHB4O1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXN0dWRlbnQtc2F0aXNmYWN0aW9uX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi5jLWltYWdlLWNhcHRpb24ge1xuICBjb2xvcjogIzc0NkU2NDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi5jLW5ld3NfX3NpbmdsZS1hcnRpY2xlIHAge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLmMtbmV3c19fc2luZ2xlLWFydGljbGUgaDIge1xuICBmb250LXNpemU6IDI2cHg7XG4gIG1hcmdpbjogNDBweCAwIDE4cHggMDsgfVxuXG4uYy1uZXdzX19zaW5nbGUtYXJ0aWNsZSAuYy10ZXN0aW1vbmlhbCxcbi5jLW5ld3NfX3NpbmdsZS1hcnRpY2xlIC5jLXJlc3BvbnNpdmUtZW1iZWQge1xuICBtYXJnaW46IDQwcHggMDsgfVxuXG4vKioqXG5SZXBvcnQgcmVjb21tZW5kZWRcbioqKi9cbi5jLW5ld3NfX3JlcG9ydC1yZWNvbW1lbmRlZCBoMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luOiAwIDAgMzVweCAwOyB9XG5cbi5jLW5ld3NfX3JlcG9ydC1yZWNvbW1lbmRhdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGxlZnQ6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1zcG9ydHMtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzAwNjkzODsgfVxuICAuYy1zcG9ydHMtaGVhZGVyIGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jLXNwb3J0cy1oZWFkZXIgLnNwb3J0cy1oZWFkZXItbmF2X193cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYy1zcG9ydHMtaGVhZGVyIC5jLWhlYWRlci1uYXYge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAgIC5jLXNwb3J0cy1oZWFkZXIgLmMtaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfSB9XG5cbi5jLXNwb3J0cy1oZWFkZXJfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jLXNwb3J0cy1tYXN0aGVhZF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYy1zcG9ydHMtbWFzdGhlYWRfX3dyYXBwZXIgLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuLmMtc3BvcnRzLW1hc3RoZWFkX19idXR0b25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiA1MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1zcG9ydHMtbWFzdGhlYWRfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jLXNwb3J0cy1tYXN0aGVhZF9fd3JhcHBlciAuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAuYy1zcG9ydHMtbWFzdGhlYWRfX2J1dHRvbnMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZzogNTBweCAyMHB4IDBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYy1zcG9ydHMtbWFzdGhlYWRfX2J1dHRvbnMgYTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtc3BvcnRzLXByb21vLWFyZWEgLmMtcHJvbW8tYXJlYV9fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweDsgfSB9XG5cbi5jLXNwb3J0cy1pbnRybyB7XG4gIHBhZGRpbmc6IDcwcHggMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmMtc3BvcnRzLWludHJvIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuXG4uYy1zcG9ydHMtc3ViLXNlY3Rpb25zIHtcbiAgcGFkZGluZzogODBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZjZmNWY0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1zcG9ydHMtc3ViLXNlY3Rpb25zX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cblxuLmMtc3BvcnRzLWNhdGVnb3JpZXMge1xuICBwYWRkaW5nOiA4MHB4IDA7IH1cblxuLmMtc3BvcnRzLWNhdGVnb3JpZXNfX2l0ZW0ge1xuICBib3JkZXItdG9wOiAzcHggc29saWQgIzc2QkQyMjtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi5jLXNwb3J0cy1ub3RlcyB7XG4gIHBhZGRpbmc6IDI0cHggNDBweDsgfVxuXG4uYy1zcG9ydHMtbm90ZXNfX3RpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uYy1zcG9ydHMtbm90ZXNfX2JvZHkge1xuICBtYXJnaW4tbGVmdDogMjAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5jLXNwb3J0cy1ub3Rlc19fdGl0bGUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jLXNwb3J0cy1ub3Rlc19fYm9keSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uc3BvcnRzLWRvd25sb2FkLXRpbWV0YWJsZV9faWNvbiB7XG4gIGZvbnQtc2l6ZTogODBweDsgfVxuXG4uc3BvcnRzLWRvd25sb2FkLXRpbWV0YWJsZV9fbGluayB7XG4gIGZvbnQtc2l6ZTogMzJweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNwb3J0cy1kb3dubG9hZC10aW1ldGFibGVfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuc3BvcnRzLWRvd25sb2FkLXRpbWV0YWJsZV9fbGluayB7XG4gICAgZm9udC1zaXplOiAyMnB4OyB9IH1cblxuLmNlbGwubGFyZ2UtNC5tZWRpdW0tNC5zbWFsbC0xMi5zdGF0LWNlbGxfX2pvYnMge1xuICBwYWRkaW5nOiA0MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy10aHJlZS1xdWFydGVyLXNwbGl0IC5jLWhhbGYtbi1oYWxmX19jb3B5IHtcbiAgICBtYXJnaW46IDQwcHggMCAwIDA7IH0gfVxuXG4uYy1jb3Vyc2UtaW5mbyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiA1MHB4IDA7IH1cblxuLmMtY291cnNlLWluZm8gc3BhbiB7XG4gIG1hcmdpbjogMCAzMHB4IDAgMDsgfVxuXG4uYy1jb3Vyc2UtaW5mbyBzcGFuOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDA7IH1cblxuLmMtY291cnNlLWluZm9fX3RpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIDVweCAwOyB9XG5cbi5jLWZ1bGwtd2lkdGgtbWFwX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jLWZ1bGwtd2lkdGgtbWFwX19sZWdlbmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDBweDtcbiAgcmlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHotaW5kZXg6IDEwMDAwMDAwMDtcbiAgcGFkZGluZzogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTsgfVxuXG4uYy1mdWxsLXdpZHRoLW1hcF9fbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jLWZ1bGwtd2lkdGgtbWFwX19sYWJlbCBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuYy1mdWxsLXdpZHRoLW1hcF9fbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYy1wYXJ0bmVycy10ZXN0aW1vbmlhbHMgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLmMtY29udGFjdCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmMtY29udGFjdF9faW1hZ2Uge1xuICBtYXJnaW46IDAgMzBweCAwIDA7IH1cbiAgLmMtY29udGFjdF9faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uYy1mdWxsLXdpZHRoLW1hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYwMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1jb250YWN0X19pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYy1jb250YWN0X19kZXRhaWxzIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYy1mdWxsLXdpZHRoLW1hcF9fbGVnZW5kIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5jLWZ1bGwtd2lkdGgtbWFwIHtcbiAgICBoZWlnaHQ6IDIwMHB4OyB9IH1cblxuLmMtY2FzZS1zdHVkeS1jb2xsYWJvcmF0aW5nIHAge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLmMtY2FzZS1zdHVkeS1vdmVydmlldyBwLCAuYy1jYXNlLXN0dWR5LW92ZXJ2aWV3IGxpLFxuLmMtY2FzZS1zdHVkeS1pbXBhY3QgcCxcbi5jLWNhc2Utc3R1ZHktaW1wYWN0IGxpIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jLWNhc2Utc3R1ZHktb3ZlcnZpZXcgaDQsXG4uYy1jYXNlLXN0dWR5LWltcGFjdCBoNCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmMtc3RhZmYtcHJvZmlsZSB7XG4gIHBhZGRpbmc6IDQwcHggMTg1cHg7IH1cblxuLmMtdGFnLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmMtdGFnLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7IH1cbiAgLmMtdGFnLWxpc3QgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzNhMzY7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYy10YWctbGlzdCBhLmMtdGFnLWxpc3RfX2FsbC1saW5rIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY5Mzg7IH1cblxuLyoqKlxuU2VuaW9yIE9mZmljZXIgUHJvZmlsZSBTdHlsZXNcbioqKi9cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYy1mdWxsLXByb2ZpbGVfX2RldGFpbC13cmFwID4gZGl2IHtcbiAgbWF4LXdpZHRoOiA3MCU7IH1cblxuLmMtZnVsbC1wcm9maWxlX19uYW1lIHtcbiAgZm9udC1zaXplOiA3MnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAgLmMtZnVsbC1wcm9maWxlX190aXRsZSB7XG4gIG1hcmdpbjogMCAwIDVweCAwOyB9XG5cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAgLmMtZnVsbC1wcm9maWxlX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jLWZ1bGwtcHJvZmlsZS0tcHJvZmlsZSBwOmZpcnN0LW9mLXR5cGUge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jLWZ1bGwtcHJvZmlsZV9fc3ViLWhlYWRpbmcge1xuICBjb2xvcjogIzNBM0MzOTtcbiAgbWFyZ2luOiA0MHB4IDAgMTZweDsgfVxuXG4uYy1mdWxsLXByb2ZpbGVfX3BpYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgbWF4LXdpZHRoOiAzMzBweCAhaW1wb3J0YW50OyB9XG5cbi5jLWZ1bGwtcHJvZmlsZV9fZWxlbWVudHMgc2VjdGlvbjpudGgtb2YtdHlwZSgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3LjQzNzVlbSkge1xuICAuYy1mdWxsLXByb2ZpbGVfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogNDJweDsgfVxuICAuYy1mdWxsLXByb2ZpbGVfX2RldGFpbC13cmFwID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7IH1cbiAgLmMtZnVsbC1wcm9maWxlX19waWMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuYy1mdWxsLXByb2ZpbGUtLXBpYyB7XG4gICAgbWF4LXdpZHRoOiAyMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1mdWxsLXByb2ZpbGVfX2RldGFpbC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuYy1mdWxsLXByb2ZpbGVfX3Byb2ZpbGUge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cblxuLmMtbWFwcy10cmF2ZWwtbW9kZS1saXN0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cblxuLmMtbWFwLS1mdWxsLXdpZHRoIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqKlxuUmVzZWFyY2ggSHViIExhbmRpbmcgRm9ybXNcbioqKi9cbi5jLXJlc2VhcmNoLWh1Yi1mb3JtIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4uYy1yZXNlYXJjaC1odWItZm9ybTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuYy1yZXNlYXJjaC1odWItZm9ybSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG5cbi8qKipcblJlc2FlcmNoIEh1YiBQcm9qZWN0IE92ZXJ2aWV3XG4qKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jLXJlc2VhcmNoLWh1Yi10YWJzIGEge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG5cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmMtcmVzZWFyY2gtaHViLXRhYnMtLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDMwcHggMCAxcmVtOyB9XG5cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIHAge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmMtcmVzZWFyY2gtcHJvamVjdC0tZGF0ZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLmMtcmVzZWFyY2gtaHViLXRhYnMgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgZm9udC1zaXplOiAyOHB4OyB9XG5cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIC5jLXByb2plY3QtLXNlcGVyYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLypcbk91dHB1dCBUYWJcbioqL1xuLmMtcmVzZWFyY2gtb3V0cHV0cy1vdmVydmlldyB7XG4gIG1hcmdpbjogMzBweCAwOyB9XG5cbi5jLXJlc2VhcmNoLW91dHB1dHMtb3ZlcnZpZXc6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuXG4vKlxuVHJlbmRpbmcgVGFiXG4qKi9cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIC5jLXRhZy1saXN0IHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uYy1nZXR0aW5nLWFyb3VuZF9fdGFicyAudGFicyAudGFicy10aXRsZSA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jLWdldHRpbmctYXJvdW5kX190YWJzIC50YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uYy1nZXR0aW5nLWFyb3VuZF9fdGFicyAudGFicyAudGFicy10aXRsZTpsYXN0LWNoaWxkID4gYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmMtZ2V0dGluZy1hcm91bmRfX3RyYXZlbC1tb2RlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfVxuICAuYy1nZXR0aW5nLWFyb3VuZF9fdHJhdmVsLW1vZGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDsgfVxuXG4jZ2V0dGluZy1hcm91bmRfX2dvb2dsZS1tYXBzLWxpbmsge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5iYWRnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gQ1VTVE9NXG5AY2hhcnNldCAndXRmLTgnO1xuXG5cblxuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBDVVNUT01cbkBpbXBvcnQgJ3NldHRpbmdzL2NvbG9ycyc7XG5AaW1wb3J0ICdzZXR0aW5ncy96aW5kZXgnO1xuQGltcG9ydCAnc2V0dGluZ3MvZm91bmRhdGlvbic7XG4vLyBAaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICAvLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIC8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cblxuICBAaWYgJHByb3RvdHlwZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcbiAgfVxufVxuXG5cbi8vIEJPV0VSIFNUVUZGLi4uXG5cbkBpbXBvcnQgJ2Jvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzcyc7XG5AaW1wb3J0ICdib3dlcl9jb21wb25lbnRzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MnO1xuXG5cbi8vIENVU1RPTS4uLlxuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmc7XG5cbi8vIHJlLXVzYWJsZSBjb21wb25lbnRzIHRoYXQgY2FuIGJlIHVzZWQgc2l0ZSB3aWRlXG5AaW1wb3J0ICdraXRjaGVuc2luayc7XG5cbi8vIGxheW91dCBzdHlsZXMgLS0gYmVzdCB0byBjb21lIGJlZm9yZSBvdGhlciBzZWN0aW9ucyBzbyB3ZSBjYW4gb3ZlcndyaXRlXG5AaW1wb3J0ICdsYXlvdXQnO1xuXG4vLyB0eXBvZ3JhcGh5IHN0eWxlcyAtLSBiZXN0IHRvIGNvbWUgYmVmb3JlIG90aGVyIHNlY3Rpb25zIHNvIHdlIGNhbiBvdmVyd3JpdGVcbkBpbXBvcnQgJ3R5cGUnO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWxpdGllcy91dGlsaXRpZXMnO1xuXG4vLyBzaXRlIHNlY3Rpb25zLCBicm9rZW4gZG93biBpbnRvIHNjc3MgZmlsZXNcbkBpbXBvcnQgJ2hvbWVwYWdlJztcbkBpbXBvcnQgJ2NvdXJzZXMnO1xuQGltcG9ydCAnY291bnRyaWVzJztcbkBpbXBvcnQgJ2ZhY3VsdGllcyc7XG5AaW1wb3J0ICdzY2hvbGFyc2hpcHMnO1xuQGltcG9ydCAndGVzdGltb25pYWxzJztcbkBpbXBvcnQgJ2ludGVybmFsJztcbkBpbXBvcnQgJ2FjY29tbW9kYXRpb24nO1xuQGltcG9ydCAnc2VhcmNoJztcbkBpbXBvcnQgJ2Fvcy9hb3MnO1xuQGltcG9ydCAnaW50ZXJuYXRpb25hbC1ob21lcGFnZSc7XG5AaW1wb3J0ICdzdHVkeSc7XG5AaW1wb3J0ICduZXdzLWFydGljbGUnO1xuQGltcG9ydCAnc3BvcnRzJztcbkBpbXBvcnQgJ2pvYnMnO1xuQGltcG9ydCAnY3BkJztcbkBpbXBvcnQgJ3BhcnRuZXJzJztcbkBpbXBvcnQgJ2Nhc2Utc3R1ZHknO1xuQGltcG9ydCAnc3RhZmYtcHJvZmlsZSc7XG5AaW1wb3J0ICdtYXBzJztcbkBpbXBvcnQgJ3Jlc2VhcmNoLWh1Yic7XG5AaW1wb3J0ICdnZXR0aW5nLWFyb3VuZCc7XG5cblxuLy8gREVCVUdcbi5iYWRnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLy8vIFNsaWdodGx5IGxpZ2h0ZW4gYSBjb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gY29sb3IgdG8gdGludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvcmAgaW4gcmV0dXJuZWQgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvcn1cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnRhZ2UpIHtcbiAgICBAcmV0dXJuIG1peCh3aGl0ZSwgJGNvbG9yLCAoMTAwJSAtICRwZXJjZW50YWdlKSk7XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW4gYSBjb2xvclxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gY29sb3IgdG8gc2hhZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcmNlbnRhZ2UgLSBwZXJjZW50YWdlIG9mIGAkY29sb3JgIGluIHJldHVybmVkIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3J9XG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudGFnZSkge1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAoMTAwJSAtICRwZXJjZW50YWdlKSk7IC8vcGVyY2VudGFnZSgoMTAwLSRwZXJjZW50YWdlKS8xMDApKTtcbn1cbiRibGFjazogIzNBM0MzOTtcbiR3aGl0ZTogI2ZlZmVmZTtcbi8vIFRlcnRpYXJ5IENvbG91cnNcbiRsaWdodC1taW5rOiAjYzViZmI3O1xuJG1lZGl1bS1taW5rOiAjNzc2ZTY0O1xuJGRhcmstbWluazogIzM3M2EzNjtcblxuLy8gZW5lcmd5IGNvbG91cnNcblxuLy8gJGVuZXJneS1ncmVlbjogIzhFQkIzODtcbiRlbmVyZ3ktZ3JlZW46ICM3NkJEMjI7XG4kZW5lcmd5LWdyZWVuLS0zMDogdGludCgkZW5lcmd5LWdyZWVuLCAzMCUpOyAvLyAxMDAlIC0gNzAlID0gMzAlXG4kZW5lcmd5LWdyZWVuLS01MDogdGludCgkZW5lcmd5LWdyZWVuLCA1MCUpO1xuJGVuZXJneS1ncmVlbi0tNzA6IHRpbnQoJGVuZXJneS1ncmVlbiwgNzAlKTtcblxuLy8gJGVuZXJneS1saWdodC1ncmVlbjogI0E0QkNBQjtcbiRlbmVyZ3ktbGlnaHQtZ3JlZW46ICM5QkJFQUM7XG4kZW5lcmd5LWxpZ2h0LWdyZWVuLS0zMDogdGludCgkZW5lcmd5LWxpZ2h0LWdyZWVuLCAzMCUpO1xuJGVuZXJneS1saWdodC1ncmVlbi0tNTA6IHRpbnQoJGVuZXJneS1saWdodC1ncmVlbiwgNTAlKTtcbiRlbmVyZ3ktbGlnaHQtZ3JlZW4tLTcwOiB0aW50KCRlbmVyZ3ktbGlnaHQtZ3JlZW4sIDcwJSk7XG5cbi8vICRlbmVyZ3ktdGVhbDogIzAwODg5NDtcbiRlbmVyZ3ktdGVhbDogIzAwODk5NjtcbiRlbmVyZ3ktdGVhbC0tMzA6IHRpbnQoJGVuZXJneS10ZWFsLCAzMCUpO1xuJGVuZXJneS10ZWFsLS01MDogdGludCgkZW5lcmd5LXRlYWwsIDUwJSk7XG4kZW5lcmd5LXRlYWwtLTcwOiB0aW50KCRlbmVyZ3ktdGVhbCwgNzAlKTtcblxuLy8gJGVuZXJneS15ZWxsb3c6ICNFN0MzMTE7XG4kZW5lcmd5LXllbGxvdzogI0Y0QzQwMDtcbiRlbmVyZ3kteWVsbG93LS0zMDogdGludCgkZW5lcmd5LXllbGxvdywgMzAlKTtcbiRlbmVyZ3kteWVsbG93LS01MDogdGludCgkZW5lcmd5LXllbGxvdywgNTAlKTtcbiRlbmVyZ3kteWVsbG93LS03MDogdGludCgkZW5lcmd5LXllbGxvdywgNzAlKTtcblxuLy8gJGVuZXJneS1vcmFuZ2U6ICNENDc2MkY7XG4kZW5lcmd5LW9yYW5nZTogI0VFNzYyNDtcbiRlbmVyZ3ktb3JhbmdlLS0zMDogdGludCgkZW5lcmd5LW9yYW5nZSwgMzAlKTtcbiRlbmVyZ3ktb3JhbmdlLS01MDogdGludCgkZW5lcmd5LW9yYW5nZSwgNTAlKTtcbiRlbmVyZ3ktb3JhbmdlLS03MDogdGludCgkZW5lcmd5LW9yYW5nZSwgNzAlKTtcblxuLy8gJGVuZXJneS1saWdodC1ibHVlOiAjN0VCMkUyO1xuJGVuZXJneS1saWdodC1ibHVlOiAjNUZCNEU1O1xuJGVuZXJneS1saWdodC1ibHVlLS0zMDogdGludCgkZW5lcmd5LWxpZ2h0LWJsdWUsIDMwJSk7XG4kZW5lcmd5LWxpZ2h0LWJsdWUtLTUwOiB0aW50KCRlbmVyZ3ktbGlnaHQtYmx1ZSwgNTAlKTtcbiRlbmVyZ3ktbGlnaHQtYmx1ZS0tNzA6IHRpbnQoJGVuZXJneS1saWdodC1ibHVlLCA3MCUpO1xuXG4vLyAkZW5lcmd5LWJsdWU6ICM1NjdDQzY7XG4kZW5lcmd5LWJsdWU6ICMzRDdEQ0E7XG4kZW5lcmd5LWJsdWUtLTMwOiB0aW50KCRlbmVyZ3ktYmx1ZSwgMzAlKTtcbiRlbmVyZ3ktYmx1ZS0tNTA6IHRpbnQoJGVuZXJneS1ibHVlLCA1MCUpO1xuJGVuZXJneS1ibHVlLS03MDogdGludCgkZW5lcmd5LWJsdWUsIDcwJSk7XG5cbi8vICRlbmVyZ3ktcGluazogI0I2MUI2NjtcbiRlbmVyZ3ktcGluazogI0Q0MTU2ODtcbiRlbmVyZ3ktcGluay0tMzA6IHRpbnQoJGVuZXJneS1waW5rLCAzMCUpO1xuJGVuZXJneS1waW5rLS01MDogdGludCgkZW5lcmd5LXBpbmssIDUwJSk7XG4kZW5lcmd5LXBpbmstLTcwOiB0aW50KCRlbmVyZ3ktcGluaywgNzAlKTtcblxuLy8gJGVuZXJneS1wdXJwbGU6ICMzMTAwNkY7XG4kZW5lcmd5LXB1cnBsZTogIzU5MkM4MjtcbiRlbmVyZ3ktcHVycGxlLS0zMDogdGludCgkZW5lcmd5LXB1cnBsZSwgMzAlKTtcbiRlbmVyZ3ktcHVycGxlLS01MDogdGludCgkZW5lcmd5LXB1cnBsZSwgNTAlKTtcbiRlbmVyZ3ktcHVycGxlLS03MDogdGludCgkZW5lcmd5LXB1cnBsZSwgNzAlKTtcblxuLy8gaGVyaXRhZ2UgY29sb3Vyc1xuXG4vLyAkaGVyaXRhZ2UtZ3JlZW46ICMzQjY5Mzg7XG4kaGVyaXRhZ2UtZ3JlZW46ICMwMDY5Mzg7XG4kaGVyaXRhZ2UtLWdyZWVuLS0zMDogdGludCgkaGVyaXRhZ2UtZ3JlZW4sIDMwJSk7XG4kaGVyaXRhZ2UtZ3JlZW4tLTUwOiB0aW50KCRoZXJpdGFnZS1ncmVlbiwgNTAlKTtcbiRoZXJpdGFnZS1ncmVlbi0tNzA6IHRpbnQoJGhlcml0YWdlLWdyZWVuLCA3MCUpO1xuXG4vLyAkaGVyaXRhZ2UtZ3JlZW4tMjogIzQ5NzA1MztcbiRoZXJpdGFnZS1ncmVlbi0yOiAjMkI3MDUxO1xuJGhlcml0YWdlLWdyZWVuLTItLTMwOiB0aW50KCRoZXJpdGFnZS1ncmVlbi0yLCAzMCUpO1xuJGhlcml0YWdlLWdyZWVuLTItLTUwOiB0aW50KCRoZXJpdGFnZS1ncmVlbi0yLCA1MCUpO1xuJGhlcml0YWdlLWdyZWVuLTItLTcwOiB0aW50KCRoZXJpdGFnZS1ncmVlbi0yLCA3MCUpO1xuXG4kaGVyaXRhZ2UtdGVhbDogIzAwNUU2MztcbiRoZXJpdGFnZS10ZWFsLS0zMDogdGludCgkaGVyaXRhZ2UtdGVhbCwgMzAlKTtcbiRoZXJpdGFnZS10ZWFsLS01MDogdGludCgkaGVyaXRhZ2UtdGVhbCwgNTAlKTtcbiRoZXJpdGFnZS10ZWFsLS03MDogdGludCgkaGVyaXRhZ2UtdGVhbCwgNzAlKTtcblxuLy8gJGhlcml0YWdlLXllbGxvdzogI0RCQTkxQjtcbiRoZXJpdGFnZS15ZWxsb3c6ICNFQ0FBMDA7XG4kaGVyaXRhZ2UteWVsbG93LS0zMDogdGludCgkaGVyaXRhZ2UteWVsbG93LCAzMCUpO1xuJGhlcml0YWdlLXllbGxvdy0tNTA6IHRpbnQoJGhlcml0YWdlLXllbGxvdywgNTAlKTtcbiRoZXJpdGFnZS15ZWxsb3ctLTcwOiB0aW50KCRoZXJpdGFnZS15ZWxsb3csIDcwJSk7XG5cbi8vICRoZXJpdGFnZS1vcmFuZ2U6ICNDMzQ2MTQ7XG4kaGVyaXRhZ2Utb3JhbmdlOiAjRTE0NTA0O1xuJGhlcml0YWdlLW9yYW5nZS0tMzA6IHRpbnQoJGhlcml0YWdlLW9yYW5nZSwgMzAlKTtcbiRoZXJpdGFnZS1vcmFuZ2UtLTUwOiB0aW50KCRoZXJpdGFnZS1vcmFuZ2UsIDUwJSk7XG4kaGVyaXRhZ2Utb3JhbmdlLS03MDogdGludCgkaGVyaXRhZ2Utb3JhbmdlLCA3MCUpO1xuXG4kaGVyaXRhZ2UtYmx1ZTogIzM4NURBRTtcbiRoZXJpdGFnZS1ibHVlLS0zMDogdGludCgkaGVyaXRhZ2UtYmx1ZSwgMzAlKTtcbiRoZXJpdGFnZS1ibHVlLS01MDogdGludCgkaGVyaXRhZ2UtYmx1ZSwgNTAlKTtcbiRoZXJpdGFnZS1ibHVlLS03MDogdGludCgkaGVyaXRhZ2UtYmx1ZSwgNzAlKTtcblxuLy8gJGhlcml0YWdlLW5hdnk6ICMyRTQ0ODc7XG4kaGVyaXRhZ2UtbmF2eTogIzE0MzE1RTtcbiRoZXJpdGFnZS1uYXZ5LS0zMDogdGludCgkaGVyaXRhZ2UtbmF2eSwgMzAlKTtcbiRoZXJpdGFnZS1uYXZ5LS01MDogdGludCgkaGVyaXRhZ2UtbmF2eSwgNTAlKTtcbiRoZXJpdGFnZS1uYXZ5LS03MDogdGludCgkaGVyaXRhZ2UtbmF2eSwgNzAlKTtcblxuJGhlcml0YWdlLWJlcnJ5OiAjOUQxRTY1O1xuJGhlcml0YWdlLWJlcnJ5LS0zMDogdGludCgkaGVyaXRhZ2UtYmVycnksIDMwJSk7XG4kaGVyaXRhZ2UtYmVycnktLTUwOiB0aW50KCRoZXJpdGFnZS1iZXJyeSwgNTAlKTtcbiRoZXJpdGFnZS1iZXJyeS0tNzA6IHRpbnQoJGhlcml0YWdlLWJlcnJ5LCA3MCUpO1xuXG4kaGVyaXRhZ2UtcHVycGxlOiAjMzEwMDZGO1xuJGhlcml0YWdlLXB1cnBsZS0tMzA6IHRpbnQoJGhlcml0YWdlLXB1cnBsZSwgMzAlKTtcbiRoZXJpdGFnZS1wdXJwbGUtLTUwOiB0aW50KCRoZXJpdGFnZS1wdXJwbGUsIDUwJSk7XG4kaGVyaXRhZ2UtcHVycGxlLS03MDogdGludCgkaGVyaXRhZ2UtcHVycGxlLCA3MCUpO1xuXG5cbi8vIHRoZSBmb2xsb3dpbmcgY2xhc3NlcyBjYW4gYmUgZXh0ZW5kZWQgYnkgb3RoZXIgY2xhc3Nlc1xuXG4kY29sb3JzOiAoXG4gICAgYmxhY2s6ICMzQTNDMzksXG4gICAgd2hpdGU6ICNmZWZlZmUsXG4gICAgLy8gVGVydGlhcnkgQ29sb3Vyc1xuICAgIGxpZ2h0LW1pbms6ICNjNWJmYjcsXG4gICAgbWVkaXVtLW1pbms6ICM3NzZlNjQsXG4gICAgZGFyay1taW5rOiAjMzczYTM2LFxuICAgIGRhcmstZ3JleTogIzYxNjM2MSxcblxuICAgIC8vIEVuZXJneSBDb2xvdXJzXG4gICAgLy9lbmVyZ3ktZ3JlZW46ICM4RUJCMzgsXG4gICAgZW5lcmd5LWdyZWVuOiAjNzZCRDIyLFxuICAgIC8vIGVuZXJneS1saWdodC1ncmVlbjogI0E0QkNBQixcbiAgICBlbmVyZ3ktbGlnaHQtZ3JlZW46ICM5QkJFQUMsXG4gICAgLy8gZW5lcmd5LXRlYWw6ICMwMDg4OTQsXG4gICAgZW5lcmd5LXRlYWw6ICMwMDg5OTYsXG4gICAgLy8gZW5lcmd5LXllbGxvdzogI0U3QzMxMSxcbiAgICBlbmVyZ3kteWVsbG93OiAjRjRDNDAwLFxuICAgIC8vIGVuZXJneS1vcmFuZ2U6ICNENDc2MkYsXG4gICAgZW5lcmd5LW9yYW5nZTogI0VFNzYyNCxcbiAgICAvLyBlbmVyZ3ktbGlnaHQtYmx1ZTogIzdFQjJFMixcbiAgICBlbmVyZ3ktbGlnaHQtYmx1ZTogIzVGQjRFNSxcbiAgICAvLyBlbmVyZ3ktYmx1ZTogIzU2N0NDNixcbiAgICBlbmVyZ3ktYmx1ZTogIzNEN0RDQSxcbiAgICAvLyBlbmVyZ3ktcGluazogI0I2MUI2NixcbiAgICBlbmVyZ3ktcGluazogI0Q0MTU2OCxcbiAgICAvLyBlbmVyZ3ktcHVycGxlOiAjNTAzMDdGLFxuICAgIGVuZXJneS1wdXJwbGU6ICM1OTJDODIsXG5cbiAgICAvLyBIZXJpdGFnZSBDb2xvdXJzXG4gICAgaGVyaXRhZ2UtZ3JlZW46ICMwMDY5MzgsXG4gICAgLy9oZXJpdGFnZS1ncmVlbjogIzNCNjkzOCxcbiAgICAvLyBoZXJpdGFnZS1ncmVlbi1hbHQ6ICM0OTcwNTMsXG4gICAgaGVyaXRhZ2UtZ3JlZW4tYWx0OiAjMkI3MDUxLFxuICAgIGhlcml0YWdlLXRlYWw6ICMwMDVFNjMsXG4gICAgLy8gaGVyaXRhZ2UteWVsbG93OiAjREJBOTFCLFxuICAgIGhlcml0YWdlLXllbGxvdzogI0VDQUEwMCxcbiAgICAvLyBoZXJpdGFnZS1vcmFuZ2U6ICNDMzQ2MTQsXG4gICAgaGVyaXRhZ2Utb3JhbmdlOiAjRTE0NTA0LFxuICAgIGhlcml0YWdlLWJsdWU6ICMzODVEQUUsXG4gICAgLy8gaGVyaXRhZ2UtbmF2eTogIzJFNDQ4NyxcbiAgICBoZXJpdGFnZS1uYXZ5OiAjMTQzMTVFLFxuICAgIGhlcml0YWdlLWJlcnJ5OiAjOUQxRTY1LFxuICAgIGhlcml0YWdlLXB1cnBsZTogIzMxMDA2Rixcbik7XG5cbiR2YXJpYXRpb25zOiAoXG4gICAgMzAsIDUwLCA3MCxcbik7XG5cbi8vIHRoaXMgd2lsbCBnZW5lcmF0ZSBjbGFzc2VzIHRoYXQgd2Ugd2lsbCB1c2UgaW4gdGhlIGtpdGNoZW5cbi8vIHNpbmsgZS5nLiBlbmVyZ3ktZ3JlZW4sIGVuZXJneS1ncmVlbi0tMzAsIGVuZXJneS1ncmVlbi0tNTAsIC4uLlxuQGVhY2ggJG5hbWUsICRoZXggaW4gJGNvbG9ycyB7XG4gICAgLnUtYmctI3skbmFtZX0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhleCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudS0jeyRuYW1lfSB7XG4gICAgICBjb2xvcjogJGhleCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBlYWNoICRwZXJjIGluICR2YXJpYXRpb25zIHtcblxuICAgICAgLnUtYmctI3skbmFtZX0tLSN7JHBlcmN9IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgkaGV4LCAkcGVyYyk7XG4gICAgICB9XG4gICAgfVxufVxuXG4vLyB0aGlzIGlzIGFuIGV4Y2VwdGlvbiBmb3IgdGhlIGdyZXkgc2VjdGlvbiBiYWNrZ3JvdW5kc1xuJGJnLWdyZXk6IHRpbnQoJGxpZ2h0LW1pbmssIDE1JSk7XG4udS1iZy1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleSAhaW1wb3J0YW50O1xufVxuLnUtYmctZ3JleS0tZGFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGJnLWdyZXksIDk1JSkgIWltcG9ydGFudDtcbn1cbi51LWJnLWdyZXktLWRhcmtlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGJnLWdyZXksIDkwJSkgIWltcG9ydGFudDtcbn1cblxuJGJnLWVuZXJneS10ZWFsLS0xNTogdGludCgkZW5lcmd5LXRlYWwsIDE1JSk7XG4udS1iZy1lbmVyZ3ktdGVhbC0tMTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1lbmVyZ3ktdGVhbC0tMTUgIWltcG9ydGFudDtcbn1cblxuLy8gLnUtd2hpdGUtLWFsbCAqLFxuLy8gLnUtd2hpdGUtLWFsbCBoMSxcbi8vIC51LXdoaXRlLS1hbGwgaDIsXG4vLyAudS13aGl0ZS0tYWxsIGgzLFxuLy8gLnUtd2hpdGUtLWFsbCBwLFxuLy8gLnUtd2hpdGUtLWFsbCBhLFxuLy8gLnUtd2hpdGUtLWFsbCBhLmMtbGluayxcbi8vIC51LXdoaXRlLS1hbGwgYS5jLWxpbms6YWZ0ZXIsXG4vLyAudS13aGl0ZS0tYWxsIGE6aG92ZXIge1xuLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4vLyB9XG4udS13aGl0ZS0tYWxsICosXG4udS13aGl0ZS0tYWxsICo6YWZ0ZXIsXG4udS13aGl0ZS0tYWxsICo6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xufVxuLnUtd2hpdGUtLWFsbCBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlIWltcG9ydGFudDtcbn1cbi51LXdoaXRlLS1hbGwgLmMtd3lzaXd5Zy1jb250ZW50IGxpIGEsXG4udS13aGl0ZS0tYWxsIGxpIGEsXG4udS13aGl0ZS0tYWxsIHAgYSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG59IiwiLy8gaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNC8wNi9zYXNzeS16LWluZGV4LW1hbmFnZW1lbnQtZm9yLWNvbXBsZXgtbGF5b3V0cy9cblxuLy8gRWxlbWVudHMgd2lsbCBnZXQgdGhlIGluZGV4IGluIHRoaXMgYXJyYXkgYXMgdGhlaXIgei1pbmRleCB2YWx1ZVxuJHotaW5kZXgtZWxlbWVudHM6IGhvbWVwYWdlLW1hc3RoZWFkLXZpZGVvLCBob29rLCBoZWFkZXItc2VhcmNoLCBjb3Vyc2Utc3RpY2t5LW1lbnUsIG1vYmlsZS1tZW51LXNsaWRlciwgY291cnNlLW9wdGlvbnMtdG9vbHRpcCwgY291cnNlLXNlYXJjaC13aWRnZXQsIGNvdXJzZS1zZWFyY2gtd2lkZ2V0LXZpZXctYWxsLCBicmVhZGNydW1icy1zdWJtZW51O1xuXG4vKipcbiAqIEJlY2F1c2UgZmFsc2UgaXNu4oCZdCBhIHZhbGlkIHZhbHVlIGZvciB6LWluZGV4LCB3ZSBkb27igJl0IHdhbnQgaXQgaW4gb3VyIGNvbXBpbGVkXG4gKiBjb2RlLiBXZSBjYW4gc3RvcCB0aGlzIGZyb20gaGFwcGVuaW5nIGJ5IG1ha2luZyBhIGN1c3RvbSBmdW5jdGlvbiB0aGF0IGFjdHMgYXNcbiAqIGEgcHJveHkgdG8gdGhlIGNhbGwgdG8gbGlzdCBhbmQgdGhhdCB1c2VzIFNhc3PigJkgQHdhcm4gdG8gdGVsbCB1cyB3aGV0aGVyIHNvbWV0aGluZ1xuICogaGFzIGdvbmUgd3JvbmcuXG4gKiBFeGFtcGxlIHVzYWdlOiB6KCR6LWluZGV4LWVsZW1lbnRzLCBob21lcGFnZS1tYXN0aGVhZC12aWRlKVxuICovXG5AZnVuY3Rpb24geigkbGlzdCwgJGVsZW1lbnQpIHtcblxuICAgJHotaW5kZXg6IGluZGV4KCRsaXN0LCAkZWxlbWVudCk7XG5cbiAgIEBpZiAkei1pbmRleCB7XG4gICAgICBAcmV0dXJuICR6LWluZGV4O1xuICAgfVxuXG4gICBAd2FybiAnVGhlcmUgaXMgbm8gaXRlbSBcIiN7JGVsZW1lbnR9XCIgaW4gdGhpcyBsaXN0OyBjaG9vc2Ugb25lIG9mOiAjeyRsaXN0fSc7XG4gICBAcmV0dXJuIG51bGw7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgJG9sZC16Zi1zaXplOiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgYnJlYWtwb2ludCBzaXplXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyNDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMwMDY5MzgsIC8vIGhlcml0YWdlIGdyZWVuLCB5b1xuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuXG4gIC8vIHRoZXNlIGFyZSBzdGlybGluZyB1bmkgYmFuZCBjb2xvcnMuLi5cblxuICBsaWdodC1taW5rOiAjYzViZmI3LFxuICBtZWRpdW0tbWluazogIzc3NmU2NCxcbiAgZGFyay1taW5rOiAjMzczYTM2LFxuXG4gIC8vIEVuZXJneSBDb2xvdXJzXG4gIGVuZXJneS1ncmVlbjogIzhFQkIzOCxcbiAgZW5lcmd5LWxpZ2h0LWdyZWVuOiAjQTRCQ0FCLFxuICBlbmVyZ3ktdGVhbDogIzAwODg5NCxcbiAgZW5lcmd5LXllbGxvdzogI0U3QzMxMSxcbiAgZW5lcmd5LW9yYW5nZTogI0Q0NzYyRixcbiAgZW5lcmd5LWxpZ2h0LWJsdWU6ICM3RUIyRTIsXG4gIGVuZXJneS1ibHVlOiAjNTY3Q0M2LFxuICBlbmVyZ3ktcGluazogI0I2MUI2NixcbiAgZW5lcmd5LXB1cnBsZTogIzUwMzA3RixcblxuICAvLyBIZXJpdGFnZSBDb2xvdXJzXG4gIGhlcml0YWdlLWdyZWVuOiAjMDA2OTM4LC8vIzAwNjkzOFxuICBoZXJpdGFnZS1ncmVlbi1hbHQ6ICM0OTcwNTMsXG4gIGhlcml0YWdlLXRlYWw6ICMwMDVlNkEsXG4gIGhlcml0YWdlLXllbGxvdzogI0RCQTkxQixcbiAgaGVyaXRhZ2Utb3JhbmdlOiAjQzM0NjE0LFxuICBoZXJpdGFnZS1ibHVlOiAjNDc1REFBLFxuICBoZXJpdGFnZS1uYXZ5OiAjMkU0NDg3LFxuICBoZXJpdGFnZS1iZXJyeTogIzY2MjY1NixcbiAgaGVyaXRhZ2UtcHVycGxlOiAjMzEwMDZGLFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzNBM0MzOTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsgLy8nSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTI0MHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdGU01hamEnLCBzZXJpZjsgIC8vJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAzMDA7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMS4xZW0gMWVtOyAvLzAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwIDIwcHggMDsgLy8wIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAxNHB4LFxuICBzbWFsbDogMTZweCwgLy8wLjc1cmVtLFxuICBkZWZhdWx0OiAyMHB4LCAvLzAuOXJlbSxcbiAgbGFyZ2U6IDIwcHgsIC8vMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gbmV3IGJ1dHRvbiBzZXR0aW5nc1xuJGJ1dHRvbi1wYWRkaW5nLWxpc3Q6IChcbiAgdGlueTogMS4xZW0gMWVtLFxuICBzbWFsbDogMS4xZW0gMWVtLCAvLzAuNzVyZW0sXG4gIGRlZmF1bHQ6IDIxcHggMjhweCwgLy8wLjlyZW0sXG4gIGxhcmdlOiA2OXB4IDIwcHgsIC8vMS4yNXJlbSxcbik7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiAwJTsgLy84NSU7XG4kY2FsbG91dC1ib3JkZXI6IG5vbmU7IC8vMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAwOyAvLyRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDYwcHgsIC8vd2FzIHByZXZpb3VzbHkgMjBweFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG4gIEBlbHNlaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxuICBAZWxzZWlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbiAgQGVsc2VpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXItcGFkZGVkIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lci1wYWRkaW5nO1xuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gI3skLXpmLXNpemV9LXNocmluaywgPiAjeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+ICN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuY2VsbCcsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JC16Zi1zaXplfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+ICN7JC16Zi1zaXplfS1zaHJpbmssID4gI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAjeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKVxuICB9XG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcblxuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lclxuKSB7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIEFkZCBwYWRkaW5nIHRvIHlvdXIgY29udGFpbmVyLCB1cCB0byBhIHBhcnRpY3VsYXIgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lci1wYWRkaW5nKFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmcsXG4gICRtYXg6ICRncmlkLWNvbnRhaW5lci1tYXhcbikge1xuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJHBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHBhZGRpbmcpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSAvIDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSAvIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZWlmICh0eXBlLW9mKCRwYWRkaW5nKSA9PSAnbnVtYmVyJykge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoJHBhZGRpbmcpIC8gMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygkcGFkZGluZykgLyAyO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heCkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXRzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlcm4gdGhlbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDIgb3IgMS8zLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2VpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCBvciBgc2hyaW5rYC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgb3VyIGd1dHRlcnMgZnJvbSBtYXAgaWYgYXZhaWxhYmxlLCBpZiBub3QgbWFwIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICAvLyBJZiBndXR0ZXJzID0gbWFwXG4gICAgQGlmKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgICAvLyBJZiAkZ3V0dGVycyBtYXAgaGFzIGEga2V5ID0gJGJyZWFrcG9pbnQsIG91dHB1dCB0aGUgdmFsdWVcbiAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGd1dHRlcnMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIElmIG5vdCBhIG1hcFxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06ICN7JG9wZXJhdG9yfSRndXR0ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVyLXR5cGU6ICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbiwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICB9XG5cbiAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB6Zi1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlcn0pLCAje3h5LWNlbGwtc2l6ZSgkbil9KTtcblxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2Vcbikge1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgfSBAZWxzZSB7XG4gICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICB9XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcblxuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1lbGVtZW50LW5lc3RpbmcsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnbGVmdCcsICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHsgXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvKiBLSVRDSEVOIFNJTksgQ09NUE9ORU5UUyAqL1xuLyoqKlxuQ29sb3VyIFN3YXRjaGVzXG4qKiovXG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rLzV0aXBzJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL2FjY29yZGlvbic7XG5AaW1wb3J0ICdraXRjaGVuc2luay9ibGVlZC1mZWF0dXJlLWltYWdlJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL2J1dHRvbnMnO1xuQGltcG9ydCAna2l0Y2hlbnNpbmsvY2FsbG91dCc7XG5AaW1wb3J0ICdraXRjaGVuc2luay9jb250YWN0JztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL2Zvcm1zJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL2dhbGxlcmllcyc7XG5AaW1wb3J0ICdraXRjaGVuc2luay9oYWxmLW4taGFsZic7XG5AaW1wb3J0ICdraXRjaGVuc2luay9pbmZvZ3JhcGhpY3MnO1xuQGltcG9ydCAna2l0Y2hlbnNpbmsvbWFzdGhlYWRzLnNjc3MnO1xuQGltcG9ydCAna2l0Y2hlbnNpbmsvaW1hZ2UtdGV4dC1ibG9jayc7XG5AaW1wb3J0ICdraXRjaGVuc2luay9saW5rJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL3BhZ2luYXRpb24nO1xuQGltcG9ydCAna2l0Y2hlbnNpbmsvcGFzdC1yZWNvcmRpbmdzJztcbkBpbXBvcnQgJ2tpdGNoZW5zaW5rL3Byb21vLWJveCc7XG5AaW1wb3J0ICdraXRjaGVuc2luay9zbGljayc7XG5AaW1wb3J0ICdraXRjaGVuc2luay90YWJsZXMnO1xuQGltcG9ydCAna2l0Y2hlbnNpbmsvdGFicyc7XG5AaW1wb3J0ICdraXRjaGVuc2luay90ZXN0aW1vbmlhbHMuc2Nzcyc7XG5AaW1wb3J0ICdraXRjaGVuc2luay93eXNpd3lnJztcblxuQGltcG9ydCAna2l0Y2hlbnNpbmsvY291cnNlLXNlYXJjaC13aWRnZXQnO1xuXG4uY29sb3ItYm94IHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY29sb3VyLXN3YXRjaC1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbn1cbi5jb2xvdXItc3dhdGNoLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jb2xvdXItc3dhdGNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDEwcHggMHB4ICM2ZTZlNmU7XG59XG4uY29sb3VyLXN3YXRjaC0tc3dhdGNoIHtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICAgIHdpZHRoOiAxMzBweDtcbn1cbi5jb2xvdXItc3dhdGNoOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jb2xvdXItc3dhdGNoLS1kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA5cHggNXB4O1xufVxuLmNvbG91ci1zd2F0Y2gtLWRldGFpbHMgcCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuLmhleC1jb2RlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLypcbldyYXBwZXJcbioqKi9cbi5jLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qKipcblR5cG9ncmFwaHlcbioqKi9cbi50eXBvZ3JhcGh5LWJsb2NrLmZzLW1hamEge1xuICAgIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5vcGVuLXNhbnMtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5vcGVuLXNhbnMtc2VtaWJvbGQgeyBmb250LXdlaWdodDogNjAwOyB9XG4ub3Blbi1zYW5zLXJlZ3VsYXIgeyBmb250LXdlaWdodDogNDAwOyB9XG4ub3Blbi1zYW5zLWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDEwMDsgfVxuLnR5cG9ncmFwaHktYmxvY2sgLmZvbnQtZmFtaWx5IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi50eXBvZ3JhcGh5LWJsb2NrIHAge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbi50eXBvZ3JhcGh5LWJsb2NrIHNwYW4uZm9udC1mYW1pbHktc2FtcGxlIHtcbiAgICBmb250LXNpemU6IDEwMHB4O1xuICAgIG1hcmdpbjogMCA1LjAxJSAwIDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTgwcHgpIHtcbiAgICAudHlwb2dyYXBoeS1ibG9jayA+IC5mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2RpdGg6IDYwMHB4KSB7XG4gICAgLnR5cG9ncmFwaHktYmxvY2sgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG59XG4vKioqXG5UeXBvZ3JhcGh5IC0gSGVhZGluZyBIZWlyYXJjaHlcbioqKi9cbi5oZWFkaW5nLWJsb2NrIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG4uaGVhZGluZy1ibG9jayA+IC5mbGV4LWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuLmhlYWRpbmctYmxvY2sgLnRhZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbn1cbi8qKipcbkNhbGwgdG8gQWN0aW9uXG4qKiovXG4uY3RhIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBwYWRkaW5nOiAyM3B4IDY0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uY3RhX19kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I1QjBCNDtcbiAgICBjb2xvcjogIzNBM0MzODtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vKlxuQ2FsbCB0byBBY3Rpb24gLSBIZXJpdGFnZSBHcmVlblxuKiovXG4uY3RhLS1oZXJpdGFnZS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNCNjkzODtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jdGEtLWhlcml0YWdlLWdyZWVuOmhvdmVyLFxuLmN0YS0taGVyaXRhZ2UtZ3JlZW5fX2FjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICMzQjY5Mzg7XG4gICAgY29sb3I6ICMzQjY5Mzg7XG59XG4vKlxuQ2FsbCB0byBBY3Rpb24gLSBFbmVyZ3kgR3JlZW5cbioqL1xuLmN0YS0tZW5lcmd5LWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVCQjM4O1xuICAgIGNvbG9yOiAjM0EzQzM4O1xufVxuLmN0YS0tZW5lcmd5LWdyZWVuOmhvdmVyLFxuLmN0YS0tZW5lcmd5LWdyZWVuX19hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjOEVCQjM4O1xuICAgIGNvbG9yOiAjM0EzQzM4O1xufVxuLypcbkNhbGwgdG8gQWN0aW9uIC0gSGVyaXRhZ2UgQmVycnlcbioqL1xuLmN0YS0taGVyaXRhZ2UtYmVycnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjI2NTY7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG4uY3RhLS1oZXJpdGFnZS1iZXJyeTpob3Zlcixcbi5jdGEtLWhlcml0YWdlLWJlcnJ5X19hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjYyNjU2O1xuICAgIGNvbG9yOiAjNjYyNjU2O1xufVxuLyoqKlxuVGV4dCBMaW5rXG4qKiovXG4udGV4dC1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi50ZXh0LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjM0I2OTM4O1xufVxuLnRleHQtbGluazphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4O1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLWluLW91dDtcbn1cbi50ZXh0LWxpbms6aG92ZXI6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG59XG4udGV4dC1saW5rX19hY3RpdmU6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG59XG4udGV4dC1saW5rLS1iZXJyeSxcbi50ZXh0LWxpbmstLWJlcnJ5OmhvdmVyIHtcbiAgICBjb2xvcjogIzY2MjY1Njtcbn1cbi50ZXh0LWxpbmstLWJlcnJ5OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjYyNjU2O1xufVxuXG4vKioqXG5JY29uIExpbmtzXG4qKiovXG4vLyAuYy1zaW5nbGUtbGluay1wYW5lbCBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuLy8gICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbi8vIH1cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICBtYXJnaW46IDE1cHg7XG59XG4uYy1pY29uLWxpbmsgLmMtaWNvbi1saW5rX190ZXh0LWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbn1cbi5jLWljb24tbGluay0tbGFyZ2UgLmMtbGluayB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xufVxuLmMtaWNvbi1saW5rLWJsb2NrIC5jZWxsOm50aC1jaGlsZCgzKSB7XG4gICAgbWFyZ2luOiAwIDAgOTVweCAwO1xufVxuLmMtaWNvbi1saW5rLWJsb2NrIC5jZWxsOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWljb24tbGluayB7XG4gICAgY29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcbn1cbi8vIC5jLWljb24tbGluayAuYy1saW5rIHtcbi8vICAgICBjb2xvcjogJGJsYWNrO1xuLy8gfVxuLy8gLmMtaWNvbi1saW5rIC5jLWxpbms6YmVmb3JlIHtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4vLyB9XG4uYy1pY29uLWxpbmsudS13aGl0ZSAsXG4uYy1pY29uLWxpbmsudS13aGl0ZSAuYy1saW5rIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuLmMtaWNvbi1saW5rLnUtd2hpdGUgLmMtbGluazpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1mYWNlYm9va1wiXSB7XG4gICAgY29sb3I6ICMzYjU5OTg7XG59XG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtaW5zdGFncmFtXCJdIHtcbiAgICBjb2xvcjogIzI2MjYyNjtcbn1cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy10d2l0dGVyXCJdIHtcbiAgICBjb2xvcjogIzU1YWNlZTtcbn1cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy15b3V0dWJlXCJdIHtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbn1cbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy1saW5rZWRpblwiXSB7XG4gICAgY29sb3I6ICMwMDdiYjU7XG59XG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3Mtc25hcGNoYXRcIl0ge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLWZhY2Vib29rXCJdLFxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLWluc3RhZ3JhbVwiXSxcbi5jLWljb24tbGluayBzcGFuW2NsYXNzXj1cInVvcy10d2l0dGVyXCJdLFxuLmMtaWNvbi1saW5rIHNwYW5bY2xhc3NePVwidW9zLXlvdXR1YmVcIl0sXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtbGlua2VkaW5cIl0sXG4uYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3Mtc25hcGNoYXRcIl0ge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbiAgICAuYy1pY29uLWxpbmsgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA1MnB4O1xuICAgIH1cbiAgICAuYy1pY29uLWxpbmstLWxhcmdlIC5jLWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxufVxuLypcbkljb24gTGlua3Mgd2l0aCBUZXh0XG4qKioqKioqKioqL1xuLmMtaWNvbi1saW5rX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuLmMtaWNvbi1saW5rX190ZXh0IHA6bm90KC5jLWljb24tbGlua19faGVhZGVyKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYy1pY29uLWxpbmstYmxvY2sgLmNlbGwsXG4gICAgLmMtaWNvbi1saW5rLWJsb2NrIC5jZWxsOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgfVxuICAgIC5jLWljb24tbGluay1ibG9jayAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAvKlxuICAgIEljb24gTGlua3Mgd2l0aCBUZXh0XG4gICAgKioqKioqKioqKi9cbiAgICAvLyAuYy1pY29uLWxpbmtfX3RleHQge1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIC8vIH1cbiAgICAvLyAuYy1pY29uLWxpbmtfX3RleHQ6bGFzdC1jaGlsZCB7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLy8gfVxufVxuXG4vKioqXG5FdmVudHMgQm94XG4qKiovXG4uYy1ldmVudHMtYm94X19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuLmMtZXZlbnRzLWJveF9fY29udGVudCBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAwO1xufVxuLmMtZXZlbnRzLWJveF9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAzNHB4IDA7XG59XG4uYy1ldmVudHMtYm94X19kZXRhaWxzIHAge1xuICAgIG1hcmdpbjogMFxufVxuLmMtZXZlbnRzLWJveCBzcGFuW2NsYXNzXj1cInVvcy1cIl0sXG4uYy1ldmVudHMtYm94X19kZXRhaWxzIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gICAgY29sb3I6ICRlbmVyZ3ktZ3JlZW47XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbi5jLWV2ZW50cy1ib3hfX2RldGFpbC1pbmZvIHtcbiAgICBtYXJnaW46IDAgNTBweCAxMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG4uYy1ldmVudHMtYm94X19kZXRhaWwtaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbn1cbi5jLWV2ZW50cy1ib3hfX2RldGFpbC1pbmZvOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLypcbkV2ZW50cyBCb3ggQWxlcnRcbioqKioqKioqKiovXG4uYy1ldmVudHMtYm94X19hbGVydCB7XG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xufVxuLmMtZXZlbnRzLWJveF9fYWxlcnQgc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xufVxuLmMtZXZlbnRzLWJveF9fYWxlcnQgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLWV2ZW50cy1ib3hfX2RldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmMtZXZlbnRzLWJveF9fZGV0YWlsLWluZm8ge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgfVxuICAgIC5jLWV2ZW50cy1ib3hfX2RldGFpbC1pbmZvOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vKlxuU2luZ2xlIEV2ZW50XG4qKioqKioqKioqL1xuLmMtZXZlbnRzX19kZXRhaWxzIHAge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWV2ZW50cy1ib3hfX2FsZXJ0LS1zaW5nbGUge1xuICAgIHBhZGRpbmc6IDM1cHggMzBweDtcbn1cbi5jLWV2ZW50cy1ib3hfX2FsZXJ0LS1zaW5nbGUgcCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5cbi8qXG5FdmVudHMgQ2FsZW5kYXJcbioqKi9cbi5jLWV2ZW50cy1jYWxlbmRhciB1bDpmaXJzdC1vZi10eXBlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDQwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGVuZXJneS1ncmVlbjtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwge1xuICAgIGNvbHVtbi1jb3VudDogMztcbn1cbi5jLWV2ZW50cy1jYWxlbmRhciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTJweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjkzODtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG4uYy1ldmVudHMtY2FsZW5kYXIgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5jLWV2ZW50cy1jYWxlbmRhciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgICBmb250LWZhbWlseTogJ3Vvcyc7XG4gICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBkb3duKX0ge1xuICAgLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgLmMtZXZlbnRzLWNhbGVuZGFyID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuICAgIH1cbn1cblxuLy8gS2V5IGZhY3RzXG5cbi5jLWZhY3RzIHtcbiAgICBwYWRkaW5nOiA0MnB4IDA7XG59XG5cbi5jLWZhY3RzX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDM2cHg7XG59XG5cbi5jLWZhY3RzX19mYWN0cyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHAsIGxpLCB0aCwgdGQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDAgMzJweCA2cHggMDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLmMtZmFjdHNfX2ZhY3RzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWZhY3RzX19mYWN0LWhlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnIC0nO1xuICAgIH1cbn1cblxuLmMtZmFjdHNfX2NvdXJzZS1sZWFmbGV0LWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qKipcblN0YWZmIE92ZXJ2aWV3c1xuKioqL1xuLmMtc3RhZmYtb3ZlcnZpZXdfX2ltYWdlIHtcbiAgICBtYXJnaW46IDAgMzBweCAwIDA7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICBtaW4td2lkdGg6IDI2MHB4O1xufVxuXG4vKioqXG5Db2x1bW5zIFNlY3Rpb25cbioqKi9cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jb2x1bW5zLXNlY3Rpb24gLmNlbGwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAuY29sdW1ucy1zZWN0aW9uIC5jZWxsOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLypcbkxpc3Qgd2l0aCBpY29ucyBhcyBidWxsZXRzXG4qL1xuLmljb24tbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uaWNvbi1saXN0X19saXN0LWl0ZW0ge1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdFtjbGFzc149XCJ1b3MtXCJdLCBbY2xhc3MqPVwiIHVvcy1cIl0ge1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRjb2xvcjogJGVuZXJneS1ncmVlbjtcblx0XHRmb250LXNpemU6IDM1cHg7XG5cdH1cblxuICAgICYuaWNvbi1saXN0X19saXN0LWl0ZW0tLXNtYWxsLWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5pY29uLWxpc3Qge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgLmljb24tbGlzdF9fbGlzdC1pdGVtIHtcbiAgICBcdC8vIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgXHQvLyBmb250LXNpemU6IDE2cHg7XG4gICAgXHQvLyBkaXNwbGF5OiBmbGV4O1xuICAgIFx0Ly8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcdC8vIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBcdCY6bGFzdC1jaGlsZCB7XG4gICAgXHRcdC8vIG1hcmdpbi1ib3R0b206IDA7XG4gICAgXHR9XG5cbiAgICBcdFtjbGFzc149XCJ1b3MtXCJdLCBbY2xhc3MqPVwiIHVvcy1cIl0ge1xuICAgIFx0XHQvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgXHRcdC8vIGNvbG9yOiAkZW5lcmd5LWdyZWVuO1xuICAgIFx0XHQvLyBmb250LXNpemU6IDIwMCU7XG4gICAgXHR9XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5pY29uLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLypcbkxheW91dCB3aXRoIGljb24gb24gdGhlIGxlZnQgYW5kIHRleHQvY29udGVudCBvbiB0aGUgcmlnaHRcbiovXG4uYy1jb2x1bW4tbGlzdCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDU5cHg7XG59XG4uYy1pY29uLWluZGVudCB7XG5cbiAgICBbY2xhc3NePVwidW9zLVwiXSwgW2NsYXNzKj1cIiB1b3MtXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgIH1cbn1cbi5jLWljb24taW5kZW50X19ib2R5IHtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cbn1cbi5jLWljb24taW5kZW50X19ib2R5LS1oaWdobGlnaHQge1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuLmMtaWNvbi1pbmRlbnRfX2ZsYWcge1xuXHRpbWcge1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLWljb24taW5kZW50IHtcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgXHRbY2xhc3NePVwidW9zLVwiXSwgW2NsYXNzKj1cIiB1b3MtXCJdIHtcbiAgICBcdFx0Zm9udC1zaXplOiA0MnB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgXHR9XG4gICAgfVxuICAgIC5jLWljb24taW5kZW50X19ib2R5IHtcbiAgICBcdG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmMtaWNvbi1pbmRlbnRfX2JvZHktLWhpZ2hsaWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICAgIC5jLWljb24taW5kZW50X19mbGFnIHtcbiAgICBcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG59XG5cblxuLypcblJlc3BvbnNpdmUgd3JhcHBlciBmb3IgdmlkZW9zLCBpZnJhbWUgYW5kIG9iamVjdHMuXG4qL1xuLmMtcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gcGFkZGluZy1ib3R0b206IDQxLjY2NjY2NjY3JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gIC8vIGhlaWdodDogYXV0bztcbiAgLy8gYmFja2dyb3VuZDogJGJsYWNrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYy1yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5jLXJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLmMtcmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKlxuQSBncmV5IHN0cmlwIHRoYXQgc2l0cyBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGZsdXNoIHdpdGggdGhlIGZvb3RlclxuKi9cbi5wYWdlLXRpbWVzdGFtcC1zdHJpcCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMjlweDtcbn1cblxuXG5cbi8qKlxuICogSG9vayBvbiBkaXZzXG4gKi9cbkBtaXhpbiBjLWhvb2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTs7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEuOTM3NXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICRoZXJpdGFnZS1ncmVlbjtcbiAgICAgICAgei1pbmRleDogeigkei1pbmRleC1lbGVtZW50cywgaG9vayk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmMtaG9vay0tdG9wLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBjLWhvb2s7XG4gICAgLy96LWluZGV4OiAxO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgJGhlcml0YWdlLWdyZWVuO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4uYy1ob29rLS10b3AtbGVmdCB7XG4gICAgQGluY2x1ZGUgYy1ob29rO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8vIC5jLWhvb2stLWJvdHRvbS1yaWdodCB7IC8vIFRPRE8gdG9wLCBsZWZ0IGFuZCByaWdodFxuLy8gICAgIEBpbmNsdWRlIGMtaG9vaztcbi8vXG4vLyAgICAgJjo6YmVmb3JlIHtcbi8vICAgICAgICAgdG9wOiAwO1xuLy8gICAgICAgICBsZWZ0OiAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMik7XG4vLyAgICAgICAgIHJpZ2h0OiAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMik7XG4vLyAgICAgfVxuLy8gfVxuLy9cbi8vIC5jLWhvb2stLWJvdHRvbS1sZWZ0IHsgLy8gVE9ETyB0b3AsIGxlZnQgYW5kIHJpZ2h0XG4vLyAgICAgQGluY2x1ZGUgYy1ob29rO1xuLy9cbi8vICAgICAmOjpiZWZvcmUge1xuLy8gICAgICAgICB0b3A6IDA7XG4vLyAgICAgICAgIGxlZnQ6IChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbi8vICAgICAgICAgcmlnaHQ6IChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcbi8vICAgICB9XG4vLyB9XG5cbi8qKipcblNoYXJlIEJ1dHRvbnNcbioqKi9cbi5jLXNoYXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMzBweCAwO1xufVxuYS5jLXNoYXJlX19pY29uIHtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmEuYy1zaGFyZV9faWNvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJi5mb2N1cyxcbiAgICAmLnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLXNoYXJlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cbn1cblxuLyoqKlxuUGFnZSBCcmVhayBCYW5kcyBDb250ZW50XG4qKiovXG4uYy1wYWdlLWJhbmQtY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5jLXBhZ2UtYmFuZC1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuXG4vKipcblNFQVJDSFxuKi9cblxuLmMtc2VhcmNoLWxvYWRpbmcge1xuICAgIG1hcmdpbjogMzBweCAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYy1zZWFyY2gtbG9hZGluZ19fc3Bpbm5lciB7XG4gICAgYm9yZGVyOiA2cHggc29saWQgI2VlZTtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgIzk5OTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5sb2FkZXIge1xuICAgIGJvcmRlcjogNnB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBtYXJnaW46IDFyZW0gYXV0bztcbn1cblxuLmxvYWRlci0tc21hbGwge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLypcbmdlbmVyaWMgcmVzdWx0IHN0eWxlXG5Ac2VlIHNpdGUgc2VhcmNoLCBpbnRlcm5hbCBzZWFyY2hcbiovXG4uYy1zZWFyY2gtcmVzdWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi8qXG5pbWFnZSBibG9jayByZXN1bHQgc3R5bGVcbkBzZWUgdGVzdGltb25pYWxzLCBhY2NvbW1vZGF0aW9uXG4qL1xuLmMtaW1hZ2UtYmxvY2stc2VhcmNoLXJlc3VsdCB7XG5cdC8vIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5jLWltYWdlLWJsb2NrLXNlYXJjaC1yZXN1bHRfX2JvZHkge1xuXHRwYWRkaW5nOiAyNXB4IDUwcHg7XG5cdGJhY2tncm91bmQ6ICRiZy1ncmV5O1xufVxuLmMtaW1hZ2UtYmxvY2stc2VhcmNoLXJlc3VsdF9fdGl0bGUge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi5jLWltYWdlLWJsb2NrLXNlYXJjaC1yZXN1bHRfX2NvdXJzZSB7XG5cbn1cbi5jLWltYWdlLWJsb2NrLXNlYXJjaC1yZXN1bHRfX3F1b3RlIHtcblx0Ym9yZGVyOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0Y29sb3I6ICRibGFjaztcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICdcIic7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJ1wiJztcblx0fVxufVxuXG4vKioqXG5Hb29nbGUgbWFwc1xuKioqL1xuLmMtZ29vZ2xlLW1hcHMgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyoqKlxuQnJhbmQgYmFuayB3aWRnZXRzXG4qKiovXG4uYy1kb3dubG9hZC1ib3gge1xuICAgIGJvcmRlcjogI2Y2ZjVmNCAzcHggc29saWQ7XG4gICAgbWFyZ2luOiAxcmVtIDAgMi41cmVtO1xufVxuLmMtZG93bmxvYWQtYm94LS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzYzM5O1xufVxuLmMtZG93bmxvYWQtYm94IC5jLWRyb3Bkb3duLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjVweCAwcHggMHB4IDI1cHg7XG59XG4uYy1kb3dubG9hZC1ib3ggaW1nIHtcbiAgICBwYWRkaW5nOiA0NXB4IDYwcHggNTBweDtcbn1cbi5jLWRvd25sb2FkLWJveCBwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNWY0O1xuICAgIHBhZGRpbmc6IDE4cHggMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG4uYy1kcm9wZG93bi13cmFwcGVyIC5idXR0b24tLWRyb3Bkb3duOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjkzNztcbiAgICBjb2xvcjogIzAwNjkzNztcbn1cbi5jLWRyb3Bkb3duLXdyYXBwZXIgLmJ1dHRvbi0tZHJvcGRvd246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2OTM3O1xuICAgIGNvbG9yOiAjMDA2OTM3O1xufVxuXG4vKioqXG5Db2xvdXIgU3dhdGNoZXNcbioqKi9cbmZpZ3VyZS5jLWNvbG91ci1zd2F0Y2gge1xuICAgIC8vYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmNmY1ZjQ7XG4gICAgbWFyZ2luOiAxcmVtIDAgMi41cmVtO1xufVxuZmlndXJlLmMtY29sb3VyLXN3YXRjaCBkaXZbY2xhc3NePVwidS1iZy1cIl0ge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTAlO1xufVxuZmlndXJlLmMtY29sb3VyLXN3YXRjaCBkbCxcbmZpZ3VyZS5jLWNvbG91ci1zd2F0Y2ggZGQsXG5maWd1cmUuYy1jb2xvdXItc3dhdGNoIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuZmlndXJlLmMtY29sb3VyLXN3YXRjaCBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuZGwgZGQgdWwgbGk6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2NjYztcbiAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG59XG4uYy1jb2xvdXItc3dhdGNoIGxpIHtcbiAgIGZvbnQtc2l6ZTogMWVtO1xuICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xufVxuLmMtY29sb3VyLXN3YXRjaCBsaTpiZWZvcmUge1xuICAgZm9udC1zaXplOiAxLjFlbTtcbiAgIGNvbG9yOiAjYmJiO1xufVxubGkuYy1jb2xvdXItc3dhdGNoX19oZXg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcImhleFwiO1xufVxubGkuYy1jb2xvdXItc3dhdGNoX19yZ2I6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInJnYlwiO1xufVxubGkuYy1jb2xvdXItc3dhdGNoX19jbXlrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJjbXlrXCI7XG59XG5saS5jLWNvbG91ci1zd2F0Y2hfX3BtczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwicG1zXCI7XG59XG4iLCIvKioqXG41IFRpcHNcbioqKi9cbi5jLWZpdmUtdGlwcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1maXZlLXRpcHM6YmVmb3JlLFxuLmMtZml2ZS10aXBzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMzFweDtcbn1cbi5jLWZpdmUtdGlwczpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICB6LWluZGV4OiAxO1xufVxuLmMtZml2ZS10aXBzOmFmdGVyIHtcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICRlbmVyZ3ktZ3JlZW47XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICRlbmVyZ3ktZ3JlZW47XG4gICAgbGVmdDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcbn1cbi5jLWZpdmUtdGlwc19fYmx1cmIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlbmVyZ3ktcGluaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogNzVweDtcbn1cbi5jLWZpdmUtdGlwc19fYmx1cmI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LXBpbms7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA5OTlweDtcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmMtZml2ZS10aXBzX19ibHVyYiA+IGRpdiB7XG4gICAgbWFyZ2luOiAwIDQwcHggMCAwO1xufVxuLmMtZml2ZS10aXBzX19saXN0IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uYy1maXZlLXRpcHNfX2l0ZW0ge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuLmMtZml2ZS10aXBzX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA3NXB4O1xufVxuLmMtZml2ZS10aXBzX19ubyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1waW5rO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiA3MXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDI1cHggMCAwO1xuICAgIG1pbi13aWR0aDogNjBweDtcbiAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1maXZlLXRpcHNfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuYy1maXZlLXRpcHNfX25vOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGVuZXJneS1waW5rO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTAwJTtcbiAgICB3aWR0aDogNjBweDtcbiAgICB6LWluZGV4OiAtMTtcbn1cbi5jLWZpdmUtdGlwc19fdGlwIHtcbiAgICBtYXJnaW46IDE1cHggMCA3MHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgLmMtZml2ZS10aXBzOmJlZm9yZSxcbiAgICAuYy1maXZlLXRpcHM6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmMtZml2ZS10aXBzX19ibHVyYiB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMTVweDtcbiAgICB9XG4gICAgLmMtZml2ZS10aXBzX19ibHVyYjpiZWZvcmUsXG4gICAgLmMtZml2ZS10aXBzX19ibHVyYjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LXBpbms7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICAgIC5jLWZpdmUtdGlwc19fYmx1cmI6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgICAuYy1maXZlLXRpcHNfX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG4gICAgLmMtZml2ZS10aXBzX19ubyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgIH1cbiAgICAuYy1maXZlLXRpcHNfX2l0ZW06Zmlyc3Qtb2YtdHlwZSAuYy1maXZlLXRpcHNfX25vOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jLWZpdmUtdGlwc19faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5jLWZpdmUtdGlwc19fdGlwIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgNDBweCAwO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLWZpdmUtdGlwc19fbm8ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufSIsIi5hY2NvcmRpb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgLy8gOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSxcbiAgICAvLyA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAvLyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAvLyB9XG5cbiAgICAuYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBwLCBsaSwgdGgsIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggNTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4udS13aGl0ZS0tYWxsIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xufVxuLnUtd2hpdGUtLWFsbCAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuICAgIC5hY2NvcmRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbn0iLCIvKioqXG5CbGVlZCBGZWF0dXJlIEltYWdlXG4qKiovXG4uYy1ibGVlZC1mZWF0dXJlX190ZXh0LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNDBweCAzM3B4O1xuICAgIG1hcmdpbjogMTQwcHggMTVweCAwO1xuICAgIG1heC13aWR0aDogNTM0cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIGgyIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG59XG4uYy1ibGVlZC1mZWF0dXJlLS1pbWFnZS1yaWdodCAuYy1ibGVlZC1mZWF0dXJlX190ZXh0LWNvbnRhaW5lciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNTBweDtcbiAgICB3aWR0aDogNzMlO1xufVxuLmMtYmxlZWQtZmVhdHVyZV9faW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkICMzQjY5Mzg7XG4gICAgYm9yZGVyLXRvcDogN3B4IHNvbGlkICMzQjY5Mzg7XG59XG4uYy1ibGVlZC1mZWF0dXJlLS1pbWFnZS1yaWdodCAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogaW5pdGlhbDtcbn1cbi5jLWJsZWVkLWZlYXR1cmUtLWltYWdlLXJpZ2h0IC5jLWJsZWVkLWZlYXR1cmVfX2ltYWdlOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgIzNCNjkzODtcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgIzNCNjkzODtcbn1cbi5jLWJsZWVkLWZlYXR1cmVfX2NvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogNzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1ibGVlZC1mZWF0dXJlX19jb250YWluZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGViYjM4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmMtYmxlZWQtZmVhdHVyZV9fY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNTIwcHg7XG4gICAgfVxuICAgICAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgICAgIGJvdHRvbTogNjVweDtcbiAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgfVxuICAgIC5jLWJsZWVkLWZlYXR1cmVfX2NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgfVxuICAgIC5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiA4MHB4IDE1cHggMDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5jLWJsZWVkLWZlYXR1cmVfX2NvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgfVxuICAgIC5jLWJsZWVkLWZlYXR1cmVfX2NvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICB0b3A6IDE1MHB4O1xuICAgIH1cbiAgICAuYy1ibGVlZC1mZWF0dXJlX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMzUlIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICB9XG4gICAgLmMtYmxlZWQtZmVhdHVyZS0taW1hZ2UtcmlnaHQgLmMtYmxlZWQtZmVhdHVyZV9faW1hZ2Uge1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgfVxuICAgIC5jLWJsZWVkLWZlYXR1cmUtLWltYWdlLXJpZ2h0IC5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyLFxuICAgIC5jLWJsZWVkLWZlYXR1cmVfX3RleHQtY29udGFpbmVyIHtcbiAgICAgICAgbWluLXdpZHRoOiBpbmhlcml0O1xuICAgICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogLTUwcHggMTVweCAwO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn0iLCIvLy8vXG4vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLmJyZWFkY3J1bWJzIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC8vcGFkZGluZzogNDVweCAwO1xuICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYnJlYWRjcnVtYnNfX2l0ZW0tLWhhcy1zdWJtZW51LFxuLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSA+IGxpIHtcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTgxXCIgIWltcG9ydGFudDsgLy8gcGx1c1xuICAgICAgICBmb250LWZhbWlseTogXCJ1b3NcIiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTk3OVwiICFpbXBvcnRhbnQ7IC8vIG1pbnVzXG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzIHRvcCBsaW5rcyAoZXh0ZXJuYWwgb25seSlcbi8vLy9cblxuLmJyZWFkY3J1bWJzIHtcbiAgICA+IGxpIHtcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAzMHB4IDEwcHggMDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTk3YlwiOyAvLyBjaGV2cm9uLXJpZ2h0XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJ1b3NcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAjM0I2OTM4O1xuICAgICAgICB9XG4gICAgfVxuICAgID4gbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTk3YlwiOyAvLyBjaGV2cm9uLXJpZ2h0XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICAgICAgICBjb2xvcjogIzNCNjkzODtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC8vIGNsYXNzIHRoYXQgdGVsbHMgdXMgaG93IHRvIHN0eWxlIGJyZWFkY3J1bWJzIHdpdGggc3VibWVudXNcbiAgICA+IGxpLmJyZWFkY3J1bWJzX19pdGVtLS1oYXMtc3VibWVudSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYiB0b3AgbGlua3MgKGludGVybmFsIG9ubHkpLCBpbnRlcm5hbCBkcm9wIGRvd24gbWVudVxuLy8vL1xuXG4uYnJlYWRjcnVtYnMuYnJlYWRjcnVtYnMtLWludGVybmFsLFxuLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSB7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgID4gbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51X193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC8vIHBhZGRpbmc6IDM1cHggMDtcbiAgICA+IGxpIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gbGkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gaW50ZXJuYWwgYnJlYWRjcnVtYnNcbi5icmVhZGNydW1icy5icmVhZGNydW1icy0taW50ZXJuYWwge1xuXG4gICAgLy8gdG9wIGxpbmtzIGluIGJyZWFkY3J1bWJzXG4gICAgPiBsaSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAzMHB4IDEwcHggMDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgY29sb3I6ICNjYWNhY2E7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTk3YlwiOyAvLyBjaGV2cm9uLXJpZ2h0XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJ1b3NcIjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5icmVhZGNydW1ic19faXRlbS0taGFzLXN1Ym1lbnUge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gZHJvcCBkb3duIG1lbnUgaXNuJ3QgcmVhbGx5IGEgYnJlYWRjcnVtYiwgYnV0IGl0IHdpbGwgc2hhcmUgc29tZSBzdHlsZXMgYW5kIHNpdCBuZXh0IHRvXG4vLyBpdCBzbyBpdCdzIGJlZW4gc2V0dXAgaGVyZS4gaXQgZG9lc24ndCBzaGFyZSBhbGwgc3R5bGVzIHRob3VnaCAoZS5nLiBsYXJnZSBmaXJzdCBsaW5rIGluXG4vLyBicmVhZGNydW1icyApIHNvIGl0J3MgaXQncyBvd24gY29tcG9uZW50XG4uYy1pbnRlcm5hbC1kcm9wZG93bi1tZW51IHtcbiAgICA+IGxpIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3VibWVudXNcbi8vLy9cblxuLmJyZWFkY3J1bWJzIGxpIHVsIHtcbiAgICBsZWZ0OiAtMjVweDtcbn1cbi8vIC5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwge1xuLy8gICAgIGxlZnQ6IDA7XG4vLyB9XG5cbi5icmVhZGNydW1icyBsaSB1bCxcbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgei1pbmRleDogeigkei1pbmRleC1lbGVtZW50cywgYnJlYWRjcnVtYnMtc3VibWVudSk7XG4gICAgdG9wOiAxMDAlO1xuICAgIC8vIGxlZnQ6IC0yNXB4O1xuICAgIC8vIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogNTBweCAwIDIwcHggMDtcbiAgICBtaW4td2lkdGg6IDMwY2g7XG5cbiAgICAvLyBzaGFkb3cgbGluZSBiZW5lYXRoIHRoZSBzdWJtZW51XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDAwO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgfVxuXG4gICAgLy8gbGlua3MgaW4gc3VibWVudVxuICAgIGxpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIC5jdXJyZW50c2VjdGlvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwge1xuICAgIGEge1xuICAgICAgICAvLyBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLy8vXG4vLy8gQGdyb3VwIHN1Ym1lbnVzIChleHRlcm5hbCBvbmx5KVxuLy8vL1xuLmJyZWFkY3J1bWJzIGxpIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblxuICAgIC8vIGxpbmtzIGluIHN1Ym1lbnVcbiAgICBsaSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3VibWVudXMgKGludGVybmFsIG9ubHkpLCBpbnRlcm5hbCBkcm9wIGRvd24gbWVudSBzdWJtZW51XG4vLy8vXG5cbi8vIGJyZWFkY3J1bWIgYW5kIGRyb3AgZG93biBzdWJtZW51IGZvciBJTlRFUk5BTFxuLy8gYXMgdGhlc2UgdHdvIG1lbnVzIGJvdGggc2hhcmUgdGhlIHNhbWUgc3R5bGluZywgdGhleSBoYXZlIGJlZW4gZ3JvdXBlZCB0b2dldGhlclxuLmJyZWFkY3J1bWJzLmJyZWFkY3J1bWJzLS1pbnRlcm5hbCBsaSB1bCxcbi5jLWludGVybmFsLWRyb3Bkb3duLW1lbnUgbGkgdWwge1xuICAgIGJhY2tncm91bmQ6ICRoZXJpdGFnZS1ncmVlbjtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi8vIHNob3cgYWN0aXZlIHN1Ym1lbnVcbi5icmVhZGNydW1icyA+IGxpLmlzLWFjdGl2ZSA+IHVsLFxuLmMtaW50ZXJuYWwtZHJvcGRvd24tbWVudSA+IGxpLmlzLWFjdGl2ZSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qKlxuICogVGhpcyBpcyBiYXNpY2FsbHkganVzdCBhIGNvcHkgYW5kIHBhc3RlIGpvYiBmcm9tIGZvdW5kYXRpb24sIHNvbWUgaXRlbXMgYXJlXG4gKiBjb21tZW50ZWQgb3V0LiBUbyBvdmVyd3JpdGUgYW55dGhpbmcsIHVuY29tbWVudCBhbmQgcmUtZGVjbGFyZSB0aGUgc3R5bGVzXG4gKi9cblxuLmJ1dHRvbiB7XG4gIC8vIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAvLyAvLyBTaXplc1xuICAvLyBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAvLyAgICYuI3skc2l6ZX0ge1xuICAvLyAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAvLyBSRU1PVkVEIDIxLzMgTW92ZWQgaW50byBmb3VuZGF0aW9uIHZhcmlhYmxlc1xuICAvLyBjb2xvcjogI0ZGRkZGRjtcbiAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvLyBmb250LXNpemU6IDIzcHg7XG4gIC8vIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLy8gbGluZS1oZWlnaHQ6IDE7XG4gIC8vIG1hcmdpbjogMDtcbiAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgLy8gcGFkZGluZzogMjFweCAyOHB4O1xuXG4gIC8vIFBhZGRpbmdcbiAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tcGFkZGluZy1saXN0LCBkZWZhdWx0KSB7XG4gICAgJi4jeyRzaXplfSB7XG4gICAgICBwYWRkaW5nOiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKTsgLyogZWFzZU91dFF1YXJ0ICovXG5cbiAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTk3YlwiO1xuICAgICAgZm9udC1mYW1pbHk6ICd1b3MnO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJi5uby1hcnJvdzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vICYueC1sYXJnZSB7XG4gIC8vIFx0cGFkZGluZzogNDFweDtcbiAgLy8gfVxuXG4gICYuYnV0dG9uLWdhcC0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuXG4gICYuYnV0dG9uLWdhcC0tcmlnaHQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJi5idXR0b24tZ2FwLS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuXG4gICYuYnV0dG9uLWdhcC0tbGVmdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIENvbG9ycyAtIHRoaXMgd2lsbCBoYW5kbGUgZWFjaCBjb2xvciB2YXJpYXRpb24gKGUuZy4gaGVyaXRhZ2UtZ3JlZW4sIGVuZXJ5LXBpbmssIC4uLilcbiAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgIC8vIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG59XG5cblxuXG5cbi5jLWxvbmctYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAvLyAmOmxhc3QtY2hpbGQge1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAvLyB9XG59XG5cbi5jLWxvbmctYnV0dG9uX19iYWRnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7IC8vIDY0MFxuICAgIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICAgIC5jLWNvbnRhY3Qtc2VjdGlvbiAuYnV0dG9uIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cdC5idXR0b24ueC1sYXJnZSB7XG5cdFx0cGFkZGluZzogMThweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gIC5jLWxvbmctYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG59XG5cblxuLmMtZHJvcGRvd24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5idXR0b24tLWRyb3Bkb3duIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTc5XCI7XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIGJvcmRlcjogMHB4IHNvbGlkICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkICMwMDY5Mzg7XG4gICAgfVxuICAgIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5jLXRvcC1lZGdlLWNhbGxvdXQge1xuXHRtYXJnaW46IDA7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuY2xvc2UtYnV0dG9uIHtcblx0XHR0b3A6IGF1dG87XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxufVxuIiwiLyoqKlxuQ29udGFjdCBVcyBTZWN0aW9uXG4qKiovXG4uYy1jb250YWN0LXNlY3Rpb24gaDIge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBtYXJnaW46IDAgMCA2MHB4IDA7XG59XG4uYy1jb250YWN0LXNlY3Rpb24gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuXHQuYy1jb250YWN0LXNlY3Rpb24gaDIge1xuICAgIFx0bWFyZ2luOiAwIDAgNDBweCAwO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcblx0LmMtY29udGFjdC1zZWN0aW9uIGgyIHtcblx0ICAgIGZvbnQtc2l6ZTogMzJweDtcblx0fVxufSIsIi5jLWZvcm0gW3R5cGU9J3RleHQnXSwgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXSxcbi5jLWZvcm0gW3R5cGU9J2RhdGUnXSwgLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXSxcbi5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5jLWZvcm0gW3R5cGU9J21vbnRoJ10sXG4uYy1mb3JtIFt0eXBlPSd3ZWVrJ10sIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ10sXG4uYy1mb3JtIFt0eXBlPSdudW1iZXInXSwgLmMtZm9ybSBbdHlwZT0nc2VhcmNoJ10sXG4uYy1mb3JtIFt0eXBlPSd0ZWwnXSwgLmMtZm9ybSBbdHlwZT0ndGltZSddLFxuLmMtZm9ybSBbdHlwZT0ndXJsJ10sIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ10sXG4uYy1mb3JtIHRleHRhcmVhLCAuYy1mb3JtIHNlbGVjdCxcbi5jLWZvcm0gW3R5cGU9J3RleHQnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcbi5jLWZvcm0gW3R5cGU9J2RhdGUnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcbi5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J21vbnRoJ106Zm9jdXMsXG4uYy1mb3JtIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG4uYy1mb3JtIFt0eXBlPSdudW1iZXInXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG4uYy1mb3JtIFt0eXBlPSd0ZWwnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0ndGltZSddOmZvY3VzLFxuLmMtZm9ybSBbdHlwZT0ndXJsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4uYy1mb3JtIHRleHRhcmVhOmZvY3VzLCAuYy1mb3JtIHNlbGVjdDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgIzk3OTc5Nztcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRtYXJnaW46IDAgMCAyMHB4O1xuXHRtaW4taGVpZ2h0OiA3MHB4O1xuXHRwYWRkaW5nOiAwIDIwcHg7XG59XG4uYy1mb3JtIHRleHRhcmVhLFxuLmMtZm9ybSB0ZXh0YXJlYTpmb2N1cyB7XG5cdHBhZGRpbmc6IDIwcHg7XG59XG4uYy1mb3JtIFt0eXBlPVwic3VibWl0XCJdOm5vdCguYy1jb3Vyc2Utc2VhcmNoX19idXR0b24pIHtcblx0bWFyZ2luOiA0MHB4IDAgNjBweDtcbn1cbi5jLWZvcm0gbGFiZWwge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdG1hcmdpbjogMCAwIDEwcHggMDtcbn1cbi5jLWZvcm0gaDIge1xuXHRtYXJnaW46IDYwcHggMDtcbn1cbi5jLWZvcm0gYnV0dG9uIHtcblx0d2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG5cdC5jLWZvcm0gW3R5cGU9J3RleHQnXSwgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXSxcblx0LmMtZm9ybSBbdHlwZT0nZGF0ZSddLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddLFxuXHQuYy1mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAuYy1mb3JtIFt0eXBlPSdtb250aCddLFxuXHQuYy1mb3JtIFt0eXBlPSd3ZWVrJ10sIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ10sXG5cdC5jLWZvcm0gW3R5cGU9J251bWJlciddLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXSxcblx0LmMtZm9ybSBbdHlwZT0ndGVsJ10sIC5jLWZvcm0gW3R5cGU9J3RpbWUnXSxcblx0LmMtZm9ybSBbdHlwZT0ndXJsJ10sIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ10sXG5cdC5jLWZvcm0gdGV4dGFyZWEsIC5jLWZvcm0gc2VsZWN0LFxuXHQuYy1mb3JtIFt0eXBlPSd0ZXh0J106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsXG5cdC5jLWZvcm0gW3R5cGU9J2RhdGUnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cyxcblx0LmMtZm9ybSBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nbW9udGgnXTpmb2N1cyxcblx0LmMtZm9ybSBbdHlwZT0nd2VlayddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuXHQuYy1mb3JtIFt0eXBlPSdudW1iZXInXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXG5cdC5jLWZvcm0gW3R5cGU9J3RlbCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSd0aW1lJ106Zm9jdXMsXG5cdC5jLWZvcm0gW3R5cGU9J3VybCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuXHQuYy1mb3JtIHRleHRhcmVhOmZvY3VzLCAuYy1mb3JtIHNlbGVjdDpmb2N1cyB7XHRcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bWluLWhlaWdodDogNTJweDtcblx0fVxuXHQuYy1mb3JtIFt0eXBlPVwic3VibWl0XCJdOm5vdCguYy1jb3Vyc2Utc2VhcmNoX19idXR0b24pIHtcblx0XHRtYXJnaW46IDIwcHggMCA0MHB4O1xuXHR9XG5cdC5jLWZvcm0gbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHQuYy1mb3JtIGgyIHtcblx0XHRtYXJnaW46IDQwcHggMDtcblx0fVxuXHQuYy1mb3JtIGJ1dHRvbiB7XG5cdFx0cGFkZGluZzogMTNweCAyOHB4O1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcblx0LmMtZm9ybSBwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0LmMtZm9ybSBbdHlwZT0ndGV4dCddLCAuYy1mb3JtIFt0eXBlPSdwYXNzd29yZCddLFxuXHQuYy1mb3JtIFt0eXBlPSdkYXRlJ10sIC5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lJ10sXG5cdC5jLWZvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5jLWZvcm0gW3R5cGU9J21vbnRoJ10sXG5cdC5jLWZvcm0gW3R5cGU9J3dlZWsnXSwgLmMtZm9ybSBbdHlwZT0nZW1haWwnXSxcblx0LmMtZm9ybSBbdHlwZT0nbnVtYmVyJ10sIC5jLWZvcm0gW3R5cGU9J3NlYXJjaCddLFxuXHQuYy1mb3JtIFt0eXBlPSd0ZWwnXSwgLmMtZm9ybSBbdHlwZT0ndGltZSddLFxuXHQuYy1mb3JtIFt0eXBlPSd1cmwnXSwgLmMtZm9ybSBbdHlwZT0nY29sb3InXSxcblx0LmMtZm9ybSB0ZXh0YXJlYSwgLmMtZm9ybSBzZWxlY3QsXG5cdC5jLWZvcm0gW3R5cGU9J3RleHQnXTpmb2N1cywgLmMtZm9ybSBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcblx0LmMtZm9ybSBbdHlwZT0nZGF0ZSddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuXHQuYy1mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdtb250aCddOmZvY3VzLFxuXHQuYy1mb3JtIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG5cdC5jLWZvcm0gW3R5cGU9J251bWJlciddOmZvY3VzLCAuYy1mb3JtIFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxcblx0LmMtZm9ybSBbdHlwZT0ndGVsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J3RpbWUnXTpmb2N1cyxcblx0LmMtZm9ybSBbdHlwZT0ndXJsJ106Zm9jdXMsIC5jLWZvcm0gW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG5cdC5jLWZvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jLWZvcm0gc2VsZWN0OmZvY3VzIHtcdFxuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRtaW4taGVpZ2h0OiA0MHB4O1xuXHR9XG5cdC5jLWZvcm0gbGFiZWwge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0fVxuXHQuYy1mb3JtIGJ1dHRvbiB7XG5cdFx0cGFkZGluZzogOXB4IDI4cHg7XG5cdH1cbn0iLCIvKioqXG5QaG90byBHYWxsZXJpZXNcbioqKi9cbi5jLXBob3RvLWdhbGxlcnlfX3RodW1iIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTUlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMjM1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLmMtcGhvdG8tZ2FsbGVyeSAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICB9XG59XG5cbi8qXG5BY2NvbW1vZGF0aW9uIFBob3RvIEdhbGxlcnlcbioqKi9cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLXBob3RvLWdhbGxlcnlfX2FjY29tbW9kYXRpb24gLmNlbGwge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCAzMHB4O1xuICAgIH1cbiAgICAuYy1waG90by1nYWxsZXJ5X19hY2NvbW1vZGF0aW9uIC5jZWxsOm50aC1jaGlsZCgybikge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHggMHB4IDE1cHg7XG4gICAgfVxufSIsIi8qKipcbkhhbGYgTiBIYWxmXG4qKiovXG4uYy1oYWxmLW4taGFsZiB7XG4gICAgbWFyZ2luOiAwIDAgNjBweCAwO1xuICAgIC8vIHBhZGRpbmc6IDUwcHggMDtcbiAgICAvLyBtYXgtaGVpZ2h0OiA0NzNweDtcbn1cbi5jLWhhbGYtbi1oYWxmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogNjBweCAwO1xufVxuLy8gLmMtaGFsZi1uLWhhbGY6bGFzdC1jaGlsZCB7XG4vLyAgICAgbWFyZ2luOiAwO1xuLy8gfVxuLmMtaGFsZi1uLWhhbGZfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogNTglO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDcwOHB4O1xuICAgIC8vIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgLy8gbGVmdDogMDtcbn1cbi5jLWhhbGYtbi1oYWxmX19jb250ZW50LFxuLmMtd3JhcHBlci51LWJnLXdoaXRlIC5jLWhhbGYtbi1oYWxmX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCRsaWdodC1taW5rLCAxNSUpO1xuICAgIG1pbi1oZWlnaHQ6IDMzM3B4O1xuICAgIC8vIG1hcmdpbjogNzBweCAwIDcwcHggNTAlO1xuICAgIHBhZGRpbmc6IDY1cHggNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmMtd3JhcHBlciAuYy1oYWxmLW4taGFsZl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuLmMtaGFsZi1uLWhhbGZfX2hlYWRlciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAwO1xufVxuLmMtaGFsZi1uLWhhbGZfX2NvcHkgcCxcbi5jLWhhbGYtbi1oYWxmIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG4uYy1oYWxmLW4taGFsZjpudGgtb2YtdHlwZShvZGQpIC5jLWhhbGYtbi1oYWxmX19pbWFnZSB7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbn1cbi5jLWhhbGYtbi1oYWxmOm50aC1vZi10eXBlKGV2ZW4pIC5jLWhhbGYtbi1oYWxmX19pbWFnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuLmMtaGFsZi1uLWhhbGY6bnRoLW9mLXR5cGUob2RkKSAuYy1oYWxmLW4taGFsZl9fY29udGVudCB7XG4gICAgbWFyZ2luOiA3MHB4IDAgNzBweCA1MCU7XG59XG4uYy1oYWxmLW4taGFsZjpudGgtb2YtdHlwZShldmVuKSAuYy1oYWxmLW4taGFsZl9fY29udGVudCB7XG4gICAgbWFyZ2luOiA3MHB4IDUwJSA3MHB4IDA7XG59XG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19oZWFkZXIsXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19jb3B5IHAsXG4uYy13cmFwcGVyW2NsYXNzKj1cInUtYmctXCJdIC5jLWhhbGYtbi1oYWxmIC5jLWhhbGYtbi1oYWxmX19jb3B5IHVsIGxpLFxuLmMtd3JhcHBlcltjbGFzcyo9XCJ1LWJnLVwiXSAuYy1oYWxmLW4taGFsZiAuYy1oYWxmLW4taGFsZl9fY29weSBhLFxuLmMtd3JhcHBlcltjbGFzcyo9XCJ1LWJnLVwiXSAuYy1oYWxmLW4taGFsZiAuYy1oYWxmLW4taGFsZl9fY29weSBhOmFmdGVyIHtcbiAgICBjb2xvcjogJGJsYWNrIWltcG9ydGFudDtcbn1cbi5jLXdyYXBwZXJbY2xhc3MqPVwidS1iZy1cIl0gLmMtaGFsZi1uLWhhbGYgLmMtaGFsZi1uLWhhbGZfX2NvcHkgYTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrIWltcG9ydGFudDtcbn1cbi8qKipcbi5jLWhhbGYtbi1oYWxmX19jb3B5IENvbnRlbnQgQmxvY2txdW90ZVxuKioqL1xuLmMtaGFsZi1uLWhhbGZfX2NvcHkge1xuICAgIHAgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcbiAgICB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGVuZXJneS1ncmVlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucXVvdGUtYXR0cmlidXRlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTZweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbiAgICAuYy1oYWxmLW4taGFsZjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgfVxuICAgIC5jLWhhbGYtbi1oYWxmX19jb3B5IHtcbiAgICAgICAgcCArIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICAucXVvdGUtYXR0cmlidXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgLmMtaGFsZi1uLWhhbGYge1xuICAgICAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLWhhbGYtbi1oYWxmIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgIH1cbiAgICAuYy1oYWxmLW4taGFsZjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgfVxuICAgIC5jLWhhbGYtbi1oYWxmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmMtaGFsZi1uLWhhbGY6bnRoLWNoaWxkKG9kZCkgLmMtaGFsZi1uLWhhbGZfX2ltYWdlLFxuICAgIC5jLWhhbGYtbi1oYWxmOm50aC1jaGlsZChldmVuKSAuYy1oYWxmLW4taGFsZl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jLWhhbGYtbi1oYWxmOm50aC1jaGlsZChvZGQpIC5jLWhhbGYtbi1oYWxmX19jb250ZW50LFxuICAgIC5jLWhhbGYtbi1oYWxmOm50aC1jaGlsZChldmVuKSAuYy1oYWxmLW4taGFsZl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmMtaGFsZi1uLWhhbGZfX2NvbnRlbnQge1xuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLWhhbGYtbi1oYWxmX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgfVxufSIsIi8qKipcbkluZm9ncmFwaGljIFNlY3Rpb25cbioqKi9cbi5jLWluZm9ncmFwaGljIHtcbiAgICAvL3BhZGRpbmc6IDQwcHggMzBweCA2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1pbmZvZ3JhcGhpY19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWluZm9ncmFwaGljX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbn1cbi5jLWluZm9ncmFwaGljX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWluZm9ncmFwaGljX19saW5lMSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XG59XG4uYy1pbmZvZ3JhcGhpY19fbGluZTIge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW46IDA7XG59XG4uYy1pbmZvZ3JhcGhpYy1ibG9ja19fbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cbi5jLWluZm9ncmFwaGljLWJsb2NrLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYy1pbmZvZ3JhcGhpYy1ibG9jayB1bC5zbGljay1kb3RzIHtcbiAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy8gbWFyZ2luOiA0MHB4IDAgMDtcbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gbWF4LXdpZHRoOiBub25lO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuICAgIC5jLWluZm9ncmFwaGljIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAzMHB4IDUwcHg7XG4gICAgfVxuICAgIC5jLWluZm9ncmFwaGljX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgfVxuICAgIC5jLWluZm9ncmFwaGljX19oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDA7XG4gICAgfVxuICAgIC5jLWluZm9ncmFwaGljX19saW5lMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG4gICAgLmMtaW5mb2dyYXBoaWNfX2xpbmUyIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICAvLyAuYy1pbmZvZ3JhcGhpYy1ibG9ja19fbGluayB7XG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgLy8gfVxuICAgIC8vIC5jLWluZm9ncmFwaGljLWJsb2NrIHVsLnNsaWNrLWRvdHMge1xuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8vIH1cbiAgICAuYy1pbmZvZ3JhcGhpYy1ibG9jayAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgLmMtaW5mb2dyYXBoaWMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggNTBweDtcbiAgICB9XG4gICAgLmMtaW5mb2dyYXBoaWNfX2ltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODdweDtcbiAgICB9XG4gICAgLmMtaW5mb2dyYXBoaWNfX2hlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICB9XG4gICAgLmMtaW5mb2dyYXBoaWNfX2xpbmUxIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cbiAgICAuYy1pbmZvZ3JhcGhpY19fbGluZTIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLmMtaW5mb2dyYXBoaWMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgfVxuICAgIC5jLWluZm9ncmFwaGljX19saW5lMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmMtaW5mb2dyYXBoaWMtYmxvY2tfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xuICAgIH1cblxuICAgIC8vIC5jLWluZm9ncmFwaGljLWJsb2NrX19saW5rIHtcbiAgICAvLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICBtYXJnaW46IDA7XG4gICAgLy8gfVxufSIsIi8qKipcbiBNYXN0aGVhZFxuKioqL1xuLmMtbWFzdGhlYWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtbWFzdGhlYWRfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBtYXgtaGVpZ2h0OiA2ODlweDtcbiAgICBtaW4taGVpZ2h0OiA2ODlweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1tYXN0aGVhZF9faW1hZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLmMtbWFzdGhlYWRfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC8vbWFyZ2luOiAwIGF1dG8gODBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgei1pbmRleDogMTtcbn1cbi5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDg1JTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMzFweDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDk5OTlweDtcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICR3aGl0ZTtcbn1cbi5jLW1hc3RoZWFkLS1lamVjdCAuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5jLW1hc3RoZWFkLS1vcGFjaXR5IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLmMtbWFzdGhlYWQgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLypcbk1hc3RoZWFkIEJ1dHRvbnNcbioqKi9cbi5jLW1hc3RoZWFkX19idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLW1hc3RoZWFkX19idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1MHB4IDMwcHggMCAwO1xufVxuLmMtbWFzdGhlYWRfX2J1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogNTBweCAwIDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgLmMtbWFzdGhlYWRfX2ltYWdlIHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICAgIC5jLW1hc3RoZWFkLS1lamVjdCAuYy1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbiAgICB9XG4gICAgLmMtbWFzdGhlYWQgLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzJweDtcbiAgICB9XG4gICAgLmMtbWFzdGhlYWQtLWVqZWN0IC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLmMtbWFzdGhlYWRfX2ltYWdlIHtcbiAgICAgICAgLy9taW4taGVpZ2h0OiA0NzBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjU2cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICAgIC8vIC5jLW1hc3RoZWFkX19jb250YWluZXIge1xuICAgIC8vICAgICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICAgIC8vIH1cbiAgICAuYy1tYXN0aGVhZCAuYy1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jLW1hc3RoZWFkIC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgICAgICBmb250LXNpemU6IDUxcHg7XG4gICAgfVxuICAgIC5jLW1hc3RoZWFkIC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgfVxuICAgIC8qXG4gICAgTWFzdGhlYWQgQnV0dG9uc1xuICAgICoqKi9cbiAgICAuYy1tYXN0aGVhZF9fYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cbiAgICAuYy1tYXN0aGVhZF9fYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAuYy1tYXN0aGVhZCAuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbn1cbi8qKipcbk1hc3RoZWFkIC0gTmV3cyBQYWdlc1xuKioqL1xuLmMtbWFzdGhlYWQtLW5ld3Mge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLmMtbWFzdGhlYWQtLW5ld3MgLmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIG1hcmdpbjogMCAyMHB4O1xufSIsIi8qKipcbkltYWdlIHdpdGggdGV4dCBibG9ja1xuKioqL1xuLmMtaW1hZ2UtdGV4dC1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uYy1pbWFnZS10ZXh0LWJsb2NrID4gLmdyaWQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNTMwcHg7XG59XG4uYy1pbWFnZS10ZXh0LWJsb2NrLS1maXhlZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjQwcHg7XG59XG4uYy1pbWFnZS10ZXh0LWJsb2NrLS1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5jLWltYWdlLXRleHQtYmxvY2tfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xXG59XG4uYy1pbWFnZS10ZXh0LWJsb2NrX19hbHQtaGVhZGVyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbWFyZ2luOiAwIDAgMzJweCAwO1xufVxuLmMtaW1hZ2UtdGV4dC1ibG9ja19fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW46IDAgMjVweDtcbiAgICBtYXgtd2lkdGg6IDQxN3B4O1xuICAgIG1pbi13aWR0aDogNDE3cHg7XG4gICAgcGFkZGluZzogNDNweCAzMHB4O1xufVxuLmMtaW1hZ2UtdGV4dC1ibG9ja19fY29udGVudCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuICAgIC5jLWltYWdlLXRleHQtYmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMDsgXG4gICAgfVxuICAgIC5jLWltYWdlLXRleHQtYmxvY2sgPiAuZ3JpZC1jb250YWluZXIgeyBcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMzMwcHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSB1cCl9IGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgZG93bil9IHtcbiAgICAuYy1pbWFnZS10ZXh0LWJsb2NrX19pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSA1MCU7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG4gICAgLmMtaW1hZ2UtdGV4dC1ibG9ja19fd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAuYy1pbWFnZS10ZXh0LWJsb2NrIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmMtaW1hZ2UtdGV4dC1ibG9jayA+IC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cbiAgICAuYy1pbWFnZS10ZXh0LWJsb2NrX19pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDMwJSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5jLWltYWdlLXRleHQtYmxvY2tfX2NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZzogNDBweCAzMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jLWltYWdlLXRleHQtYmxvY2tfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgIH1cbn0iLCIvLyAuYnV0dG9uOmFmdGVyLFxuLmMtbGluazphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgICBmb250LWZhbWlseTogJ3Vvcyc7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xufVxuLy8gLmMtbGluazphZnRlciB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gfVxuLmMtbGluayB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWF4LXdpZHRoOiBtYXgtY29udGVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0ycHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xufVxuLmMtbGluay51LWJsYWNrOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuLmMtbGluay51LWJsYWNrOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuLmMtbGluay51LXdoaXRlOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuLmMtbGluay51LXdoaXRlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuLmMtbGluazpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxudWwgLmMtbGluayB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuLy8gLmJ1dHRvbi5uby1hcnJvdzphZnRlcixcbi5jLWxpbmsubm8tYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuLmMtd3lzaXd5Zy1jb250ZW50IGxpIGEge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGhlcml0YWdlLWdyZWVuO1xufVxuIiwidWwucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudWwucGFnaW5hdGlvbiBsaSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbnVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAzcHggMTFweDtcbiB9XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50cGFnZSB7XG4gICAgYmFja2dyb3VuZDogJGhlcml0YWdlLWdyZWVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogM3B4IDExcHg7XG59IiwiLyoqKlxuUGFzdCBSZWNvcmRpbmdzXG4qKiovXG4uYy1yZWNvcmRpbmc6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRpbnQoJGxpZ2h0LW1pbmssIDE1JSk7XG59XG4uYy1yZWNvcmRpbmdfX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuLmMtcmVjb3JkaW5nX19kZXRhaWxzIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG4gICAgY29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbWFyZ2luOiAwIDI1cHggMCAwO1xufVxuLmMtcmVjb3JkaW5nX19hdXRob3Ige1xuICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcbn1cbi5jLXJlY29yZGluZ19fZGV0YWlscyBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAuYy1yZWNvcmRpbmdfX2RldGFpbHMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmMtcmVjb3JkaW5nX19hdXRob3Ige1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgfVxufSIsIi8qKipcblByb21vIEJveFxuKioqL1xuLmMtcHJvbW8tYm94IHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtcHJvbW8tYm94Om5vdCguYy1wcm9tby1ib3gtLXBsYWluLCAuYy1wcm9tby1ib3gtLWltYWdlKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1ncmVlbjtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDE1cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLmMtcHJvbW8tYm94ID4gZGl2Om5vdCguYy1wcm9tby1ib3hfX2xheW91dC1jb250YWluZXIpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5jLXByb21vLWJveF9fY29udGVudCxcbi5jLXByb21vLWJveF9faWNvbiB7XG4gICAgcGFkZGluZy10b3A6IDIzcHg7XG59XG4uYy1wcm9tby1ib3hfX2ljb24ge1xuICAgIC8vIGZsZXg6IDEgMCBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG4uYy1wcm9tby1ib3hfX2xheW91dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmMtcHJvbW8tYm94X19oZWFkZXIge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgICBwYWRkaW5nOiAwXG59XG4uYy1wcm9tby1ib3hfX2hlYWRlcjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtcHJvbW8tYm94X19jb250ZW50IHAsXG4uYy1wcm9tby1ib3hfX2NvbnRlbnQgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbi8qKipcblByb21vIEJveCB3aXRoIEljb25cbioqKi9cbi5jLXByb21vLWJveC5jLXByb21vLWJveC0taWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5jLXByb21vLWJveF9faWNvbiBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAvL21hcmdpbjogMCAyMHB4IDAgMDtcbn1cbi8qKipcblByb21vIEJveCB3aXRoIEltYWdlXG4qKiovXG4uYy1wcm9tby1ib3gtLWltYWdlIC5jLXByb21vLWJveF9fY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbi5jLXByb21vLWJveC0taW1hZ2UgLmMtcHJvbW8tYm94X19jb250ZW50ID4gZGl2IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXByb21vLWJveC0taW1hZ2UgLmMtcHJvbW8tYm94X19jb250ZW50ID4gZGl2IHNwYW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlbmVyZ3ktZ3JlZW47XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmMtcHJvbW8tYm94LS1pbWFnZSAuYy1wcm9tby1ib3hfX2hlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cbi8qKipcblByb21vIEJveCAtIFBpbmsgTGluZVxuKioqL1xuLmMtcHJvbW8tYm94LmMtcHJvbW8tYm94LS1lbmVyZ3ktcGluazpub3QoLmMtcHJvbW8tYm94LS1wbGFpbik6bm90KC5jLXByb21vLWJveC0taW1hZ2UpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZW5lcmd5LXBpbms7XG59XG4vKioqXG5Qcm9tbyBCb3ggLSBQbGFpblxuKioqL1xuLmMtcHJvbW8tYm94LS1wbGFpbiAuYy1wcm9tby1ib3hfX2NvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLXByb21vLWJveDpub3QoLmMtcHJvbW8tYm94LS1wbGFpbiwgLmMtcHJvbW8tYm94LS1pbWFnZSk6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgfVxufVxuXG4vKioqXG5JRTEwKyBzcGVjaWZpYyBzdHlsZXMgZ28gaGVyZVxuKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAgXG4gICAgIC5jLXByb21vLWJveF9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9ICAgIFxufVxuIiwiLnNsaWNrLWRvdHMge1xuICAgIC8vIHdpZHRoOiAxMjQwcHg7XG4gICAgLy8gbWF4LXdpZHRoOiA5MCU7XG4gICAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgICAvLyByaWdodDogMDtcbiAgICAvLyBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLy8gcGFkZGluZzogMCAzMHB4O1xuICAgIC8vIG1hcmdpbjogMCBhdXRvO1xufVxuLmMtd3JhcHBlcjpub3QoLmMtaW5mb2dyYXBoaWMpIHVsLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogMDtcbn1cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW46IDAgMzBweDtcbn1cbi5zbGljay1kb3RzIGxpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjOTc5Nzk3O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi8qKipcblNsaWNrIFBhZ2Vyc1xuKioqL1xuLy8gW2NsYXNzKj1cInUtYmctXCJdIC5zbGljay1kb3RzIGxpIHtcbi51LXdoaXRlLS1hbGwgLnNsaWNrLWRvdHMgbGkge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG59XG4vLyBbY2xhc3MqPVwidS1iZy1cIl0gLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbi51LXdoaXRlLS1hbGwgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59IiwidGFibGUge1xuXHRib3JkZXItdG9wOiA1cHggc29saWQgIzhFQkIzODtcblx0bWFyZ2luOiAwIGF1dG87XG5cdC8vIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cblx0dGhlYWQsXG5cdHRib2R5LFxuXHR0Zm9vdCB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdHRoZWFkLFxuXHR0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjc7XG5cdH1cblx0dGgge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0dGJvZHkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGMEVGRUU7XG5cdH1cblx0dGQsXG5cdHRkIHAsXG5cdHVsIGxpIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XG5cdH1cblx0dGQsXG5cdHRkIHA6bGFzdC1vZi10eXBlLFxuXHR1bCBsaSB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdHRoLFxuXHR0ZCB7XG5cdFx0cGFkZGluZzogMjBweCAzMHB4O1xuXHR9XG59XG4uYy13cmFwcGVyLnUtYmctZ3JleSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG50YWJsZS5jLXRhYmxlLS11bnN0cmlwZWQge1xuXHR0aGVhZCxcblx0dGJvZHkgdHIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjc7XG5cdH1cbn1cblxuLmMtd3lzaXd5Zy1jb250ZW50IHRhYmxlIHtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdHRkLFxuXHR0aCB7XG5cdFx0cGFkZGluZzogMTBweCAxNXB4O1xuXHR9XG59XG5cbi8vIHRhYmxlIHtcbi8vIFx0Ym9yZGVyLXRvcDogNXB4IHNvbGlkICM4RUJCMzg7XG4vLyBcdG1hcmdpbjogMCBhdXRvO1xuLy8gXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuLy8gfVxuLy8gdGhlYWQsXG4vLyB0Ym9keSxcbi8vIHRmb290IHtcbi8vIFx0Ym9yZGVyOiBub25lO1xuLy8gfVxuLy8gdGhlYWQsXG4vLyB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY3O1xuLy8gfVxuLy8gdGFibGUgdGgge1xuLy8gXHRwYWRkaW5nOiAyNHB4IDQwcHg7XG4vLyBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyB9XG4vLyB0ciB7XG4vLyBcdGJhY2tncm91bmQtY29sb3I6ICNGMEVGRUU7XG4vLyB9XG4vLyB0YWJsZSB0ZCB7XG4vLyBcdGZvbnQtc2l6ZTogMTZweDtcbi8vIFx0cGFkZGluZzogMjNweCA0MHB4IDI5cHg7XG4vLyB9XG4udGFibGUtc2Nyb2xsIHRhYmxlIHtcblx0d2lkdGg6IDEwMCU7XG59XG4uYy10YWJsZV9faGVhZGVyLFxudGFibGUgY2FwdGlvbiB7XG5cdGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG5cdGZvbnQtc2l6ZTogMjJweDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bWFyZ2luOiAwIDAgMjhweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmMtdGFibGVfX2hlYWRlcjphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuLy8gXHR0YWJsZSB0ZCB7XG4vLyBcdFx0cGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuLy8gXHR9XG4vLyB9XG4iLCJcbi8vIGxpZ2h0IHRoZW1lXG4udGFicy0tbGlnaHQge1xuXHQudGFicyxcblx0LmFjY29yZGlvbiB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0LmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBhLFxuXHRcdC50YWJzLXRpdGxlID4gYTpob3Zlcixcblx0XHQudGFicy10aXRsZSA+IGE6Zm9jdXMsXG5cdFx0LnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0XHQudGFicy10aXRsZTpsYXN0LWNoaWxkIGEge1xuXHRcdFx0bWFyZ2luOiAwIDAgNDBweCAwO1xuXHRcdH1cblx0XHQuYWNjb3JkaW9uLWl0ZW0gYSxcblx0XHQudGFicy10aXRsZSA+IGEge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHQvLyBwYWRkaW5nOiAwIDgwcHggMjhweCAwO1xuXHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjOTU5ODlBO1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjogMCA4MHB4IDQwcHggMDtcblx0XHRcdHBhZGRpbmc6IDAgMCA0MHB4IDA7XG5cdFx0fVxuXHRcdC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ106YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogIzhFQkIzODtcblx0XHQgICAgYm90dG9tOiAwcHg7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdCAgICBsZWZ0OiAwO1xuXHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblx0XHQuYWNjb3JkaW9uLWl0ZW0ge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcblx0XHR9XG5cdFx0LmFjY29yZGlvbi1pdGVtIGEge1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0LmFjY29yZGlvbiB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcblx0fVxuXHQuYWNjb3JkaW9uLWNvbnRlbnQsXG5cdC50YWJzLWNvbnRlbnQge1xuXHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdC50YWJzLXBhbmVsIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHRcdC50YWJzLXBhbmVsIHRhYmxlIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cbn1cbi50YWJzLFxuLnRhYnMtY29udGVudCB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGFicy10aXRsZSB7XG59XG5cbi50YWJzIHtcblxufVxuXG4vLyBkYXJrIHRoZW1lXG4udGFicy0tZGFyayB7XG5cblx0Ly8gY2VudGVyIGFsaWduIHRoZSB0YWIgbGlua3Ncblx0Ji50YWJzIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIHRoaXMgcHV0cyB0aGUgdGFicyBpbiB0aGUgY2VudGVyXG5cblx0XHQvLyAvLyB0aGlzIGRvZXNuJ3QgdXBzZXQgdGhlIHRleHQtYWxpZ24gb2YgYW55IG5lc3RlZCB0YWJzL2FjY29yZGlvbnNcblx0XHQvLyAudGFicyxcblx0XHQvLyAuYWNjb3JkaW9uIHtcblx0XHQvLyBcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0Ly8gfVxuXHR9XG5cdCYuYWNjb3JkaW9uIHtcblx0XHQ+IC5hY2NvcmRpb24taXRlbSA+IGEge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyOyAvLyB0aGlzIHB1dHMgdGhlIHRhYnMgaW4gdGhlIGNlbnRlclxuXHRcdH1cblx0fVxuXG5cdCYudGFicyxcblx0Ji5hY2NvcmRpb24ge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1taW5rO1xuXHRcdGNvbG9yOiAkbGlnaHQtbWluaztcblxuXHRcdC50YWJzLXRpdGxlIHtcblx0XHRcdD4gYTpob3Zlcixcblx0XHRcdD4gYTpmb2N1cyxcblx0XHRcdD4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLW1pbms7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbi10aXRsZSxcblx0XHQuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuXHRcdC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLW1pbms7XG5cdFx0XHRjb2xvcjogJGxpZ2h0LW1pbms7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgJGJnLWdyZXk7XG5cdFx0fVxuXG5cdFx0LnRhYnMtdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0Ly8gZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Ly8gdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDI0cHg7XG5cdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLW1pbms7XG5cdFx0XHRcdGNvbG9yOiAkbGlnaHQtbWluaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRhYnMtY29udGVudCB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuXG5cdFx0LnRhYnMtcGFuZWwge1xuXHRcdFx0cGFkZGluZzogNDBweCAxODVweDtcblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG5cdFx0XHQudGFicy1wYW5lbCB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0PiAuYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG4iLCIvKioqXG5UZXN0aW1vbmlhbFxuKioqL1xuLmMtdGVzdGltb25pYWwge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtdGVzdGltb25pYWxfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB3aWR0aDogNjAlO1xuXG4gICAgLy8gaW1hZ2VzIG91Z2h0IHRvIGJlIG9mIHRoZSBjb3JyZWN0IHNpemUsIGlmIG5vdCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGV5IGZpdFxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgcGFkZGluZzogNDBweDtcbn1cblxuLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1COiBNb3ZlZCB0aGVzZSBzdHlsZXMgaW50byBfX2Jsb2NrcXVvdGVcbi8vIC5jLXRlc3RpbW9uaWFsX19xdW90ZSB7XG4vLyAgICAgZm9udC1zaXplOiAyNnB4O1xuLy8gICAgIGNvbG9yOiAkYmxhY2s7XG4vLyAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLyB9XG4uYy10ZXN0aW1vbmlhbF9fYXV0aG9yIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmMtdGVzdGltb25pYWxfX2luZm8ge1xuICAgIGNvbG9yOiAjNzQ3Njc4O1xufVxuLmMtdGVzdGltb25pYWxfX2F1dGhvcixcbi5jLXRlc3RpbW9uaWFsX19pbmZvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmNpdGUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5jaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG59XG4vKiBUZXN0aW1vbmlhbCAtIEF1dGhvciBCaW9cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLWF1dGhvci1iaW8ge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbn1cbi5jLWF1dGhvci1iaW8gPiBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGZvbnQtc2l6ZTogMTAzcHg7XG59XG4uYy1hdXRob3ItYmlvX19iaW8ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDA7XG59XG4uYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDAgMCA0cHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLyogVGVzdGltb25pYWwgU3RvcnlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLmMtdGVzdGltb25pYWxfX3N0b3J5IC5jLWF1dGhvci1iaW9fX25hbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4vKlxuVGVzdGltb25pYWwgU3RvcnkgLSBObyBJbWFnZSBvciBWaWRlb1xuKioqL1xuLmMtdGVzdGltb25pYWwuYy10ZXN0aW1vbmlhbF9fc3RvcnkgLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciB7XG4gICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvLyBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5jLXRlc3RpbW9uaWFsLmMtdGVzdGltb25pYWxfX3N0b3J5IC5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtc2hhcmUuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbiAgICAvKioqXG4gICAgVGVzdGltb25pYWxcbiAgICAqKiovXG4gICAgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICAgIC8qIFRlc3RpbW9uaWFsIC0gQXV0aG9yIEJpb1xuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAuYy1hdXRob3ItYmlvID4gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA5MHB4O1xuICAgIH1cbiAgICAuYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgICAuYy1hdXRob3ItYmlvX19iaW8ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLXRlc3RpbW9uaWFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLy8gLmMtdGVzdGltb25pYWwgLmMtaG9vay0tdG9wLXJpZ2h0OmJlZm9yZSB7XG4gICAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgLy8gfVxuICAgIC5jLXRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xuICAgICAgICAvLyBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgICAgICAgLy8gZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuICAgIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLWhvb2stLXRvcC1yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5jLXRlc3RpbW9uaWFsX19ibG9ja3F1b3RlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMjVweCAyNXB4IDI1cHggMDtcbiAgICB9XG4gICAgLmMtdGVzdGltb25pYWxfX3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMTBweDtcbiAgICB9XG4gICAgLmMtdGVzdGltb25pYWxfX2F1dGhvci13cmFwcGVyIGEuYy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAuYy10ZXN0aW1vbmlhbF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuLyogVGVzdGltb25pYWwgLSBObyBCaW9cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLWhvb2sgKyAuYy10ZXN0aW1vbmlhbF9fYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG4gICAgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtaG9vayArIC5jLXRlc3RpbW9uaWFsX19ibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbiAgICAvLyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy1ob29rICsgLmMtdGVzdGltb25pYWxfX2Jsb2NrcXVvdGUge1xuICAgIC8vICAgICBmb250LXNpemU6IDIycHg7XG4gICAgLy8gfVxuICAgIC8qIFRlc3RpbW9uaWFsIC0gU3RvcnlcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgLy8gLmMtdGVzdGltb25pYWxfX3N0b3J5IC5jLXRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgLy8gICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgLy8gfVxuICAgIC8vIC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciB7XG4gICAgLy8gICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAvLyAgICAgZmxvYXQ6IG5vbmU7XG4gICAgLy8gICAgIHBhZGRpbmc6IDA7XG4gICAgLy8gfVxuICAgIC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy1zaGFyZS5oaWRlLWZvci1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbiAgICAvKiBUZXN0aW1vbmlhbCAtIFN0b3J5XG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC5jLXRlc3RpbW9uaWFsX19zdG9yeSAuYy1hdXRob3ItYmlvX19uYW1lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLyogVGVzdGltb25pYWwgLSBTdG9yeVxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAuYy10ZXN0aW1vbmlhbF9fc3RvcnkgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtO1xuICAgIH1cbn1cbi8qIFRlc3RpbW9uaWFsIC0gTm8gSW1hZ2Ugb3IgVmlkZW9cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3VyOiB0b21hdG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8vcGFkZGluZzogNDBweCAyMHB4IDIwcHg7XG59XG4uYy10ZXN0aW1vbmlhbF9fY29udHJvbCArIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLWF1dGhvci1iaW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uYy10ZXN0aW1vbmlhbF9fY29udHJvbCArIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLXNoYXJlLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xufVxuLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy10ZXN0aW1vbmlhbF9fYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDQwcHggMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmMtdGVzdGltb25pYWxfX2NvbnRyb2wgKyAuYy10ZXN0aW1vbmlhbF9fd3JhcHBlciAuYy10ZXN0aW1vbmlhbF9fcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMzhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbiAgIC5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgIH1cbiAgIC5jLXRlc3RpbW9uaWFsX19jb250cm9sICsgLmMtdGVzdGltb25pYWxfX3dyYXBwZXIgLmMtdGVzdGltb25pYWxfX3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgIH1cbiAgICAuYy10ZXN0aW1vbmlhbF9fY29udHJvbCArIC5jLXRlc3RpbW9uaWFsX193cmFwcGVyIC5jLXRlc3RpbW9uaWFsX19hdXRob3Itd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuIiwiLyoqXG5XWVNJV1lHIENvbnRlbnRcbioqKi9cbi5jLXd5c2l3eWctY29udGVudCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLypcbldZU0lXWUcgQ29udGVudCBTdHlsZXNcbioqKi9cbi5jLXd5c2l3eWctY29udGVudCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLypcbldZU0lXWUcgQ29udGVudCBCbG9ja3F1b3RlXG4qKiovXG4uYy13eXNpd3lnLWNvbnRlbnQge1xuICAgIHAgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcblxuICAgICAgICArIHA6bm90KC5xdW90ZS1hdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNjBweCBhdXRvIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIC8vIG1hcmdpbjogMDtcbiAgICAgICAgLy8gcGFkZGluZzogMDtcbiAgICAgICAgLy8gYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGVuZXJneS1ncmVlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnF1b3RlLWF0dHJpYnV0ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgLmMtd3lzaXd5Zy1jb250ZW50IHtcbiAgICAgICAgcCArIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcblxuICAgICAgICAgICAgKyBwOm5vdCgucXVvdGUtYXR0cmlidXRlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucXVvdGUtYXR0cmlidXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qXG5UZXN0aW1vbmlhbCAtIEZ1bGwgVGVzdGltb25pYWwgXG4qKiovXG4uYy13eXNpd3lnLWNvbnRlbnQgLmMtYmxvY2txdW90ZS0tc2ltcGxlLFxuLmMtYmxvY2txdW90ZS0tc2ltcGxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgcGFkZGluZzogMDtcbn1cbi5jLXd5c2l3eWctY29udGVudCAuYy1ibG9ja3F1b3RlLS1zaW1wbGUgcCxcbi5jLWJsb2NrcXVvdGUtLXNpbXBsZSBwIHtcbiAgICBjb2xvcjogJGJsYWNrO1xufSIsIlxuJGMtY291cnNlLXNlYXJjaC13aWRnZXRfX2J1dHRvbi1taW4td2lkdGg6IDIxOXB4O1xuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5cbi8vIENvdXJzZSBTZWFyY2hcbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19mb3JtIHtcbiAgICBtYXJnaW46IDEzcHggMCA0M3B4O1xufVxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjQ0RDRENEO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAzM3B4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDg4MHB4O1xuICAgIG1hcmdpbjogMCA0NXB4IDAgMDtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMTZweCA2N3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vZGlzdC9jc3MvaW1hZ2VzL2ljb25zL21hZ25pZnktY291cnNlLXNlYXJjaC5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fc2VhcmNoLWlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjOEVCQjM4O1xufVxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjM0I2OTM4O1xuICAgIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi13aWR0aDogJGMtY291cnNlLXNlYXJjaC13aWRnZXRfX2J1dHRvbi1taW4td2lkdGg7XG59XG5jLWNvdXJzZS1zZWFyY2hfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5jb3Vyc2Utc2VhcmNoLXdpZGdldF9fcmVzdWx0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X192aWV3LWFsbCB7XG4gICAgbWluLXdpZHRoOiAkYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fYnV0dG9uLW1pbi13aWR0aDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogeigkei1pbmRleC1lbGVtZW50cywgY291cnNlLXNlYXJjaC13aWRnZXQtdmlldy1hbGwpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAuYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fdmlldy1hbGwge1xuICAgICAgICBtaW4td2lkdGg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgIH1cbn1cblxuXG5cblxuXG5cblxuLmMtY291cnNlLXNlYXJjaC13aWRnZXRfX3NlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0X19sb2FkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7IHJpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiA0cmVtO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIC50YWJzLCAudGFicyArIC50YWJzLWNvbnRlbnQsIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICAgIC50YWJzLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLmZpbHRlcnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IC05OTk5OTlweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbC5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2NjYztcbiAgICAgICAgfVxuICAgICAgICAvLyAudmlld19hbGwge1xuICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvLyAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8vICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICBmaWVsZHNldCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICB9XG4gICAgZmllbGRzZXQgaDMge1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgICBmaWVsZHNldCBpbnB1dDpmb2N1cyArIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gICAgZmllbGRzZXQgaW5wdXQ6Zm9jdXMgKyBhLmJ1dHRvbiB7XG4gICAgICAgIC8vIEBleHRlbmQgLmJ1dHRvbjpob3ZlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBhLnJlc3VsdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgIH1cbn1cbi5jLWNvdXJzZS1zZWFyY2gtd2lkZ2V0LXBvcHVwX19sb2FkaW5nIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG5cblxuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldC1wb3B1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHooJHotaW5kZXgtZWxlbWVudHMsIGNvdXJzZS1zZWFyY2gtd2lkZ2V0KTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAwO1xufVxuXG4uaG9tZXBhZ2UtY291cnNlLXNlYXJjaF9fcXVlcnk6Zm9jdXMgKyAucGxhY2Vob2xkZXIgcCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuaW5wdXQjaG9tZXBhZ2UtY291cnNlLXNlYXJjaF9fcXVlcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjOGE4YThhO1xufVxuIiwiLyoqKiBMQVlPVVQgU1RZTEVTXG5cblB1dHRpbmcgdGhpcyBpbiBpdCdzIG93biBpbmNsdWRlIGZpbGUgY296IGl0IG1ha2VzIHRoZSBhcHAuc2NzcyBmaWxlIG5lYXRlciwgYW5kXG5jbGVhcmVyIGZvciBkZXZzIHdoYXQgdGhlIHB1cnBvc2Ugb2YgdGhlc2Ugc3R5bGVzIGFyZVxuXG4uLi5PTkxZIExBWU9VVCBTVFlMRVMgSEVSRSwgUExFQVNFIDopXG5cbioqKi9cblxuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9pbnRlcm5hbC1ob21lcGFnZSc7XG5AaW1wb3J0ICdsYXlvdXQvaGVhZGVyLXNlYXJjaCc7XG5AaW1wb3J0ICdsYXlvdXQvbW9iaWxlLW1lbnUnO1xuQGltcG9ydCAnbGF5b3V0L21lZ2FtZW51JztcblxuLyoqKlxuU0lURSBXSURFIFNUWUxFU1xuKioqL1xuYm9keSAuZ3JpZC1jb250YWluZXIge1xuICAgIHdpZHRoOiA3Ny41cmVtO1xuICAgIG1heC13aWR0aDogOTAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG4gICAgYm9keSAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3Ny41cmVtO1xuICAgIH1cbn1cbmEge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgLy8gZm9udC1zaXplOiAyMHB4O1xufVxucCBhLFxudGFibGUgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRoZXJpdGFnZS1ncmVlbjtcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG59XG4uYWx0bWV0cmljLWVtYmVkIGEge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbmJvZHkge1xuXHQvLyBjb2xvcjogIzNlM2UzZTtcblx0Ly8gZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xufVxuLy8gdWwge1xuLy8gICAgIG1hcmdpbjogMWVtIDAgMWVtIDA7XG4vLyAgICAgcGFkZGluZzogMCAwIDAgNDBweDtcbi8vIH1cbi8vIHVsIHVsIHtcbi8vICAgICBtYXJnaW46IDA7XG4vLyB9XG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbnVsLm5vLXN0eWxlLFxudWwubm8tc3R5bGUgdWwsXG5saS5uby1zdHlsZSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbmZvcm0sXG5pbnB1dCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8vIHdpZHRoOiAxMDAlO1xufVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcblt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLFxuW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsXG5bdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cyxcblt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cyxcblt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAvL2JvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG50YWJsZXtcbiAgICBtYXJnaW46IDMwcHggMCAzMHB4IDA7XG59XG50YWJsZSB0aCwgdGFibGUgdGR7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLyoqKlxuQlVUVE9OU1xuXG5TdHlsZXMgYWxsIGJ1dHRvbnMgdXNlZCB0aHJvdWdob3V0IHRoZSBzaXRlLlxuKioqL1xuLypcbkJhY2sgdG8gbWFpbiB3ZWJzaXRlIGJ1dHRvblxuKi9cbmEuYmFjay10by1tYWluLXNpdGUge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgYS5iYWNrLXRvLW1haW4tc2l0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xuICAgIH1cbn1cbi8qKipcbkhPT0sgU1RZTEVTXG5cblN0eWxlcyBhIGhvb2sgdW5kZXIgdGhlIGNvbnRlbnQgd3JhcHBlZCB3aXRoIHRoZSBjbGFzcyAnLmhvb2snLlxuKioqL1xuLmhvb2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaG9vay1yaWdodCB7XG4gICAgcGFkZGluZzogMCAyMHB4IDIwcHggMDtcbn1cbi5ob29rLWxlZnQge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4IDIwcHg7XG59XG4uaG9vazpiZWZvcmUsXG4uaG9vazphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uaG9vazpiZWZvcmUge1xuICAgIGhlaWdodDogMzFweDtcbiAgICB3aWR0aDogN3B4O1xufVxuLmhvb2stcmlnaHQ6YmVmb3JlIHtcbiAgICByaWdodDogMDtcbn1cbi5ob29rLWxlZnQ6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xufVxuLmhvb2s6YWZ0ZXIge1xuICAgIGhlaWdodDogOHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4vKioqXG5ISUdITElHSFQgU1RZTEVTXG5cblN0eWxlcyBhIHNob3J0IGhpZ2hsaWdodCBsaW5lIHVuZGVyIHRoZSBjb250ZW50IHdyYXBwZWQgd2l0aCB0aGUgY2xhc3MgJy5oaWdsaWdodCcuXG4qKiovXG4uaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhpZ2hsaWdodDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVuZXJneS1ncmVlbjtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDY3cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG59XG4vLyAuYnV0dG9uLWNhbGxvdXRcbi8vIFN0eWxlcyB0aGUgZmVhdHVyZWQgYnV0dG9ucyBvbiB0aGUgaG9tZXBhZ2UuXG4uY2FsbG91dC1idXR0b25zIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbn1cbi5idXR0b24tY2FsbG91dCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1pbi13aWR0aDogMzUwcHg7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiAzM3B4IDUwcHg7XG59XG5cblxuLy8gI2hlYWRlci1zZWFyY2hfX3F1ZXJ5IHtcbi8vICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4vLyAgbWFyZ2luOiAwO1xuLy8gIHBhZGRpbmc6IDA7XG4vLyAgd2lkdGg6IDQxcHg7XG4vLyAgYm9yZGVyOiBub25lO1xuLy8gIGJveC1zaGFkb3c6IG5vbmU7XG4vLyAgY3Vyc29yOiBwb2ludGVyO1xuLy8gfVxuLy8gZm9ybSNoZWFkZXItc2VhcmNoIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4vLyAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyB9XG5cblxuLy8gI292ZXJsYXkge1xuLy8gICAgIGJhY2tncm91bmQ6ICMwMDA7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGxlZnQ6IDA7XG4vLyAgICAgdG9wOiAwO1xuLy8gICAgIGJvdHRvbTowO1xuLy8gICAgIHJpZ2h0OjA7XG4vLyAgICAgei1pbmRleDogMjtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgLy8gdHJhbnNpdGlvbjogMC40cztcbi8vICAgICBvcGFjaXR5OiAwLjM7XG4vLyB9XG5cblxuLmMtaGVhZGVyLW5hdl9faWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG4iLCIuYy1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMzRweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLXNpdGUtbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAzMTdweDtcbiAgICBtYXgtaGVpZ2h0OiA3OXB4O1xufVxuLmMtaGVhZGVyLW5hdiB7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWhlYWRlci1uYXZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jLWhlYWRlci1uYXZfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1oZWFkZXItbmF2LS1zZWNvbmRhcnkge1xuICAgIG1hcmdpbjogMCAwIDE0cHggMDtcbn1cbi5jLWhlYWRlci1uYXYtLXByaW1hcnkgLmMtaGVhZGVyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDMycHggMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLWhlYWRlci1uYXYtLXNlY29uZGFyeSAuYy1oZWFkZXItbmF2X19pdGVtIHtcbiAgICBtYXJnaW46IDAgMThweCAwIDA7XG59XG4uYy1oZWFkZXItbmF2LS1wcmltYXJ5IC5jLWhlYWRlci1uYXZfX2l0ZW06bGFzdC1jaGlsZCxcbi5jLWhlYWRlci1uYXYtLXNlY29uZGFyeSAuYy1oZWFkZXItbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWhlYWRlci1uYXYtLXNlY29uZGFyeSAuYy1oZWFkZXItbmF2X19saW5rIHtcbiAgICBjb2xvcjogIzNBM0MzOTtcbiAgICBmb250LXNpemU6IDE1cHg7XG59XG4uYy1oZWFkZXItbmF2LmMtaGVhZGVyLW5hdi0tcHJpbWFyeSAuYy1oZWFkZXItbmF2X19saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhFQkIzOCAvKiRlbmVyZ3ktZ3JlZW4qLztcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTM3cHg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApOyAvKiBlYXNlT3V0UXVhcnQgKi9cbn1cbi5jLWhlYWRlci1uYXYuYy1oZWFkZXItbmF2LS1wcmltYXJ5IC5jLWhlYWRlci1uYXZfX2xpbms6aG92ZXI6YWZ0ZXIsXG4uYy1oZWFkZXItbmF2LmMtaGVhZGVyLW5hdi0tcHJpbWFyeSAuYy1oZWFkZXItbmF2X19saW5rLS1pcy1hY3RpdmU6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmMtaGVhZGVyLW5hdi0tc2Vjb25kYXJ5IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYy1oZWFkZXIgLnVvcy1tYWduaWZ5aW5nLWdsYXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cbn1cbiIsIi8qKipcbkZPT1RFUiBTVFlMRVNcblxuU3R5bGVzIHRoZSBtYWluIGZvb3RlciBmb3IgdGhlIGVudGlyZSB3ZWJzaXRlLlxuKioqL1xuLmMtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzYzM5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA1NXB4IDAgMCAwO1xufVxuLmMtZm9vdGVyIC5jZWxsIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG59XG4uYy1mb290ZXIgLmdyaWQteC5ncmlkLXBhZGRpbmcteCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwcHggMCA1M3B4O1xufVxuLmMtZm9vdGVyX19oZWFkZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDAgMCAzMnB4IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5jLWZvb3Rlcl9faGVhZGVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1mb290ZXJfX2xpbms6aG92ZXIge1xuXHRjb2xvcjogJGVuZXJneS1ncmVlbjtcbn1cbi50NEVkaXQtcGFnZSxcbi5jLWNvcHlyaWdodCBwLFxuLmMtZm9vdGVyX19saW5rLFxuLmMtZm9vdGVyIHAge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZm9vdGVyIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbn1cbi5jLWZvb3RlciAuYy1mb290ZXJfX2FkZHJlc3Mgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uYy1mb290ZXJfX2xpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtZm9vdGVyX19jb250YWN0IC5jLWZvb3Rlcl9fbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jLWZvb3Rlcl9fY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9kaXN0L2Nzcy9pbWFnZXMvbWFwcy9mb290ZXItbWFwLXNjb3RsYW5kLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDc1JSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1NHB4O1xufVxuLmMtZm9vdGVyX19jb250YWN0IGxpIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG4uYy1mb2xsb3dfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XG59XG4uYy1mb290ZXJfX2xpbmstLXNvY2lhbDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZm9sbG93X19saW5rOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbn1cbi5jLWZvb3RlciBbY2xhc3MqPVwidW9zLVwiXSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xufVxuLmMtZm9vdGVyX19saW5rLS1mYWNlYm9vazpob3ZlciB7IGNvbG9yOiAjM2I1OTk4OyB9XG4uYy1mb290ZXJfX2xpbmstLWluc3RhZ3JhbTpob3ZlciB7IGNvbG9yOiAjMTI1Njg4OyB9XG4uYy1mb290ZXJfX2xpbmstLXR3aXR0ZXI6aG92ZXIgeyBjb2xvcjogIzFEQTFGMjsgfVxuLmMtZm9vdGVyX19saW5rLS15b3V0dWJlOmhvdmVyIHsgY29sb3I6ICNmZjAwMDA7IH1cbi5jLWZvb3Rlcl9fbGluay0tbGlua2VkaW46aG92ZXIgeyBjb2xvcjogIzAwN2JiNTsgfVxuLmMtZm9vdGVyX19idGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG59XG4uYy1mb290ZXJfX2J0ZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRlbmVyZ3ktZ3JlZW47XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgd2lkdGg6IDk5OTlweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cbi5jLWNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDcwcHggMDtcbn1cbi50NEVkaXQtcGFnZTpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLyoqXG5TY3JvbGwgVG8gVG9wIEJ1dHRvblxuKi9cbi5jLXNjcm9sbC10by10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGhlcml0YWdlLWdyZWVuLCAwLjkpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmMtc2Nyb2xsLXRvLXRvcF9fdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYy1zY3JvbGwtdG8tdG9wOmhvdmVyLFxuLmMtc2Nyb2xsLXRvLXRvcDpmb2N1cyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbiAgICAuYy1mb290ZXJfX2NvbnRhY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3NSUgMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTVweDtcbiAgICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgLmMtZm9vdGVyIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cbiAgICAuYy1mb290ZXJfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cbiAgICAuYy1jb3B5cmlnaHQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLWZvb3RlciB7XG5cdFx0cGFkZGluZzogNTBweCAwIDAgMDtcblx0fVxuICAgIC5jLWZvb3Rlcl9fYWNjcmVkaXRhdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICAuYy1mb290ZXJfX2J0ZCB7XG4gICAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDAgMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAuYy1mb290ZXJfX2J0ZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGluaXRpYWw7XG4gICAgfVxuICAgIC5jLWNvcHlyaWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgIH1cbn1cbiIsIi8qKipcbklOVEVSTkFMIEhFQURFUiBTVFlMRVNcblxuU3R5bGVzIHRoZSBoZWFkZXIgZm9yIHRoZSBpbnRlcm5hbCBwYWdlcyBvZiB0aGUgd2Vic2l0ZS5cbioqKi9cbi5oZWFkZXItLWludGVybmFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNWY0O1xufVxuLmhlYWRlci0taW50ZXJuYWwgYSxcbi5oZWFkZXItLWludGVybmFsIC51b3MtbWFnbmlmeWluZy1nbGFzcyB7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uaGVhZGVyLS1pbnRlcm5hbCAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDI1cHggMCAxMHB4O1xufVxuLy8gLmhlYWRlci0taW50ZXJuYWwgLnVvcy1tYWduaWZ5aW5nLWdsYXNzIHtcbi8vICAgICBmb250LXNpemU6IDI1cHg7XG4vLyB9XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAuaGVhZGVyLS1pbnRlcm5hbCAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICB9XG59XG4vKioqXG5CVVJHRVIgTUVOVSBTVFlMRVNcblxuU3R5bGVzIHRoZSBidXJnZXIgbWVudXMuXG4qKiovXG4uYnVyZ2VyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvL21hcmdpbjogMC43cmVtIDAgMC43ZW0gMXJlbTtcbn1cbi5idXJnZXIgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBlYXNlLWluLW91dCAwLjNzO1xufVxuLmJ1cmdlciBzcGFuLFxuLmJ1cmdlciBzcGFuOmJlZm9yZSxcbi5idXJnZXIgc3BhbjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhlcml0YWdlLWdyZWVuO1xufVxuLmJ1cmdlciBzcGFuOmJlZm9yZSxcbi5idXJnZXIgc3BhbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmJ1cmdlciBzcGFuOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmJ1cmdlciBzcGFuOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYnVyZ2VyLm5hdi1pcy1vcGVuIHNwYW4ge1xuICAgIHdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5idXJnZXIubmF2LWlzLW9wZW4gc3BhbjpiZWZvcmUge1xuICAgIHRvcDogMTFweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7XG59XG4uYnVyZ2VyLm5hdi1pcy1vcGVuIHNwYW46YWZ0ZXIge1xuICAgIGJvdHRvbTogOXB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7XG59XG4vKioqXG5JTlRFUk5BTCBIRUFERVIgTUVOVVxuKioqL1xuLmhlYWRlci0taW50ZXJuYWwtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjVmNDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oaWRkZW4tbGlua3MgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMjBweCAyMHB4IDA7XG59XG4uaGlkZGVuLWxpbmtzIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cbi5oZWFkZXItLWludGVybmFsLW1lbnUgdWwge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjRDREMkNDO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xufVxuXG4uaGVhZGVyLS1pbnRlcm5hbC1tZW51IGEge1xuICAgIGNvbG9yOiAjNzU3Nzc0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5oZWFkZXItLWludGVybmFsLW1lbnUgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIH1cbiAgICAuaW50ZXJuYWwtcGFnZXMgLmhlYWRlci0taW50ZXJuYWwtbWVudSAuaW50ZXJuYWwtaW5kZXgtY29sdW1ucyB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG59XG4vKioqXG5JTlRFUk5BTCBCUkVBRENSVU1CU1xuKioqL1xuXG4vLyAuaW50ZXJuYWwtcGFnZXMgLmJyZWFkY3J1bWJzIHNwYW4udW9zLWxvY2F0aW9uLFxuLy8gLmludGVybmFsLXBhZ2VzIC5icmVhZGNydW1icyxcbi8vIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgbmF2IGEsXG4vLyAuaW50ZXJuYWwtcGFnZXMgLmJyZWFkY3J1bWJzID4gbGkgYSxcbi8vIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgPiBsaSxcbi8vIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgPiBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4vLyAgICAgLy9jb2xvcjogIzk1OTg5QTtcbi8vICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICAgIHBhZGRpbmc6IDE0cHggMDtcbi8vIH1cbi8vIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnNfX2N1cnJlbnQtLWlzLWNsb3NlZDo6YWZ0ZXIge1xuLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4vLyB9XG4vLyAuaW50ZXJuYWwtYnJlYWRjcnVtYi13cmFwcGVyIC5icmVhZGNydW1icyA+IGxpOmxhc3QtY2hpbGQgPiBhICsgdWwuYnJlYWRjcnVtYnNfX2N1cnJlbnQtc3VibWVudSB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuLy8gICAgIHRvcDogNDdweDtcbi8vIH1cbi8vIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgYS5hY3RpdmUge1xuLy8gICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyB9XG4vL1xuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbi8vICAgICAuaW50ZXJuYWwtcGFnZXMgLmJyZWFkY3J1bWJzLFxuLy8gICAgIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgbmF2IGEge1xuLy8gICAgICAgICBmb250LXNpemU6IDE2cHg7XG4vLyAgICAgfVxuLy8gICAgIC5pbnRlcm5hbC1wYWdlcyAuYnJlYWRjcnVtYnMgYS5hY3RpdmUge1xuLy8gICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuLy8gICAgIH1cbi8vIH1cbi8qKipcbklOVEVSTkFMIEJVUkdFUiBNRU5VIFNUWUxFU1xuKioqL1xuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHtcbiAgICB3aWR0aDogIDI3cHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwLjdyZW0gMCAwLjdlbSAxcmVtO1xufVxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudSBzcGFuLFxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW46YmVmb3JlLFxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW46YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDMkJFQjY7XG59XG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbjpiZWZvcmUsXG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW46YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYnVyZ2VyLS1pbnRlcm5hbC1zaWRlYmFyLW1lbnUgc3BhbjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmJ1cmdlci0taW50ZXJuYWwtc2lkZWJhci1tZW51Lm5hdi1pcy1vcGVuIHNwYW4ge1xuICAgIHdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudS5uYXYtaXMtb3BlbiBzcGFuOmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5idXJnZXItLWludGVybmFsLXNpZGViYXItbWVudS5uYXYtaXMtb3BlbiBzcGFuOmFmdGVyIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5pbnRlcm5hbC1wYWdlcy1tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIC5zZWFyY2gtYnV0dG9uIHtcbi8vICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyB9XG5cbi5jLWhlYWRlci1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiB6KCR6LWluZGV4LWVsZW1lbnRzLCBoZWFkZXItc2VhcmNoKTtcbn1cbi5jLWhlYWRlci1zZWFyY2ggLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIG9wYWNpdHk6IDAuMztcbn1cbi5jLWhlYWRlci1zZWFyY2hfX2lucHV0LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1oZWFkZXItc2VhcmNoIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyAvLzJyZW1cbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi5jLWhlYWRlci1zZWFyY2ggaW5wdXRbbmFtZT0ncXVlcnknXSB7XG4gICAgLy8gcGFkZGluZzogMnJlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG4uYy1oZWFkZXItc2VhcmNoIGlucHV0ICsgYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG4uYy1oZWFkZXItc2VhcmNoX193cmFwcGVyIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtaGVhZGVyLXNlYXJjaF9fcmVzdWx0cyB7XG4gICAgZmllbGRzZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBmaWVsZHNldCBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICB9XG4gICAgZmllbGRzZXQgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgIH1cbiAgICBmaWVsZHNldCBpbnB1dDpmb2N1cyArIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi5jLWhlYWRlci1zZWFyY2hfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgLy8gY29sb3I6ICM5OTk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xufVxuXG4uYy1oZWFkZXItc2VhcmNoX19pdGVtIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vLyAuYy1oZWFkZXItc2VhcmNoX19oaWdobGlnaHQge1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gfVxuXG4uYy1oZWFkZXItc2VhcmNoX19jb2x1bW4ge1xuICAgIC8vIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLmMtaGVhZGVyLXNlYXJjaF9fc3VnZ2VzdGlvbnMge1xuICAgIC5jLWhlYWRlci1zZWFyY2hfX2l0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIC5jLWhlYWRlci1zZWFyY2hfX2hpZ2hsaWdodCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAa2V5ZnJhbWVzIHNwaW4ge1xuLy8gICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbi8vICAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuLy8gfVxuIiwiLypcbk1vYmlsZSBtZW51IHN0dWZmXG4qL1xuXG4vLyBhcHBsaWVzIHRvIHRoZSBsaW5rcyBwYWRkaW5nL21hcmdpbi93aGF0ZXZlclxuJG1vYmlsZS1tZW51X19wYWRkaW5nOiAzMHB4O1xuXG4jc2xpZGVyLCAvL1RPRE8gcmVtb3ZlIHRoaXMgb25jZSBjaGFuZ2VzIGFyZSBpbiBUNFxuLmMtbW9iaWxlLW1lbnUge1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB6LWluZGV4OiB6KCR6LWluZGV4LWVsZW1lbnRzLCBtb2JpbGUtbWVudS1zbGlkZXIpO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXG5cdC8vIGRpc3BsYXk6IG5vbmU7Ly9UT0RPIHJlbW92ZSB0aGlzIG9uY2UgY2hhbmdlcyBhcmUgaW4gVDRcbn1cblxuLmMtbW9iaWxlLW1lbnUtLXZpc2libGUge1xuICAgIHJpZ2h0OiAwJTtcbn1cblxuLmMtbW9iaWxlLW1lbnVfX2NvbnRlbnQtLXNoaW5rIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuXG4vKiBQb3NpdGlvbiBhbmQgc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbiAodG9wIHJpZ2h0IGNvcm5lcikgKi9cbiNzbGlkZXIgLmNsb3NlYnRuLFxuLmMtbW9iaWxlLW1lbnUgLmNsb3NlYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICB6LWluZGV4OiAxMDAwMDAwMDtcbn1cblxudWwuc2xpZGVtZW51LFxudWwuc2xpZGVtZW51IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xufVxuXG51bC5zbGlkZW1lbnUgbGkgPiB1bCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgdHJhbnNpdGlvbjogMC4ycztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbi8qIEhvbWUgKi9cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmM6Zmlyc3QtY2hpbGQgYSxcbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmM6Zmlyc3QtY2hpbGQgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBwYWRkaW5nOiAyNXB4ICRtb2JpbGUtbWVudV9fcGFkZGluZztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzc3NkU2NDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEyMCU7XG59XG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaS5zbGlkZW1lbnVfX2JjOmZpcnN0LWNoaWxkIGEgLnNsaWRlbWVudV9faG9tZS10ZXh0LFxudWwuc2xpZGVtZW51IHVsW2RhdGEtaGFzLWRyaWxsZG93bl0gbGk6bnRoLWNoaWxkKDIpIGEuc2xpZGVtZW51X19nb3RvLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEJhY2sgbGlua3MgKi9cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmFjayBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I2OTM4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggJG1vYmlsZS1tZW51X19wYWRkaW5nO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDEyMCU7XG59XG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaS5zbGlkZW1lbnVfX2JjOmZpcnN0LWNoaWxkIGE6OmJlZm9yZSxcbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fYmFjayBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTdhIFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG51bC5zbGlkZW1lbnUgdWxbZGF0YS1oYXMtZHJpbGxkb3duXSBsaS5zbGlkZW1lbnVfX2hvbWUtbGluayBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbn1cblxuLyogdGl0bGUgKi9cbnVsLnNsaWRlbWVudSB1bFtkYXRhLWhhcy1kcmlsbGRvd25dIGxpLnNsaWRlbWVudV9fdGl0bGUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFOUM2QjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4ICRtb2JpbGUtbWVudV9fcGFkZGluZztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMjAlO1xufVxuXG4vKiBTdWJtZW51IGxpbmtzICovXG51bC5zbGlkZW1lbnUgbGkuc2xpZGVtZW51X19zdWJpdGVtLFxudWwuc2xpZGVtZW51IGxpLnNsaWRlbWVudV9fZ290byB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbnVsLnNsaWRlbWVudSBsaS5zbGlkZW1lbnVfX3N1Yml0ZW0gPiBhLFxudWwuc2xpZGVtZW51IGxpLnNsaWRlbWVudV9fZ290byA+IGEge1xuICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgY29sb3I6ICMzQjY5Mzg7XG4gICAgLyp0cmFuc2l0aW9uOiAwLjNzOyovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAkbW9iaWxlLW1lbnVfX3BhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM4RUJCMzg7XG59XG5cbnVsLnNsaWRlbWVudSBsaS5zbGlkZW1lbnVfX2dvdG8ge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG51bC5zbGlkZW1lbnVfX2N1cnJlbnQgPiBsaS5zbGlkZW1lbnVfX3N1Yml0ZW0ge1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSA+IGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbn1cblxudWwuc2xpZGVtZW51IGxpLnNsaWRlbWVudV9faGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTk3YlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIycHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDEwMCU7XG59XG5cbnVsLnNsaWRlbWVudSAuc2xpZGVtZW51X19vdGhlci1saW5rcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctbGVmdDogJG1vYmlsZS1tZW51X19wYWRkaW5nICsgMzBweDtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuXG4gICAgYTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJ1b3NcIjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgY29sb3I6ICMzQjY5Mzg7XG4gICAgfVxuXG4gICAgLnNsaWRlbWVudV9fb3RoZXItbGlua3MtcG9ydGFsIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5NWNcIjtcbiAgICB9XG5cbiAgICAuc2xpZGVtZW51X19vdGhlci1saW5rcy1jb250YWN0IGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5NjZcIjtcbiAgICB9XG5cbiAgICAuc2xpZGVtZW51X19vdGhlci1saW5rcy1zZWFyY2ggYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkzZlwiO1xuICAgIH1cbn1cbiIsIiRtZWdhbWVudV9fcGFkZGluZzogMnJlbSAwO1xuXG4ubWVnYW1lbnUge1xuICAgIGJhY2tncm91bmQ6ICRiZy1ncmV5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDAwMDAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdG9wOiAxMDAlO1xuXG4gICAgLm1lZ2FtZW51X19wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogJG1lZ2FtZW51X19wYWRkaW5nO1xuICAgIH1cblxuICAgIC5tZWdhbWVudV9fbGlua3Mge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICAgICAgICAgIC8vIGUuZy4gXCJTdHVkeVwiIC4uIHdlIGRvbid0IG5lZWQgdGhpcyBsaW5rLCBidXQgY2FuJ3QgYXZvaWQgb3V0cHV0dGluZyBpdFxuICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuYy1saW5rO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYm9yZGVyOiAxcHggZG90dGVkIHJlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmlyc3QgbGV2ZWwgZS5nLiBcIlVuZGVyZ3JhZHVhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmMtbGluaztcbiAgICAgICAgICAgIFx0XHRcdH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNlY29uZCBsZXZlbCBlLmcuIFwiVUcgPiBIb3cgdG8gYXBwbHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcdFx0XHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lZ2FtZW51X19wcmV2LWJ1dHRvbixcbiAgICAubWVnYW1lbnVfX25leHQtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWVnYW1lbnVfX3ByZXYtYnV0dG9uOmhvdmVyLFxuICAgIC5tZWdhbWVudV9fbmV4dC1idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGxpZ2h0LWdyYXksIDUlKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLm1lZ2FtZW51X19wcmV2LWJ1dHRvbiB7XG4gICAgICAgIGxlZnQ6IC01MHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTk3YVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwidW9zXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1lZ2FtZW51X19uZXh0LWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcInVvc1wiO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWdhbWVudTpub3QoW2RhdGEtc2xpZGUtY29udHJvbHM9J3RydWUnXSkge1xuICAgICAgICAubWVnYW1lbnVfX3ByZXYtYnV0dG9uLFxuICAgICAgICAubWVnYW1lbnVfX25leHQtYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuSEVBREVSIFNUWUxFU1xuKioqL1xuaDEsIGgyLCBoMyxcbmg0LCBoNSwgaDYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oMiwgaDMsIGg0LFxuaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuaDEge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiA3MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuICAgIG1heC13aWR0aDogMjBjaDtcbn1cbmgyLFxuaDIgPiBzdHJvbmcge1xuXHQvL2ZvbnQtc2l6ZTogNThweDtcbiAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuaDIsXG5oMyxcbi5jLXd5c2l3eWctY29udGVudCBoMjpmaXJzdC1vZi10eXBlLFxuLmMtd3lzaXd5Zy1jb250ZW50IGgzOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICBwYWRkaW5nOiAwIDAgNDBweCAwO1xufVxuLmMtd3lzaXd5Zy1jb250ZW50IGgyLFxuLmMtd3lzaXd5Zy1jb250ZW50IGgzLFxuLmMtd3lzaXd5Zy1jb250ZW50ID4gcCArIGgyOmZpcnN0LW9mLXR5cGUsXG4uYy13eXNpd3lnLWNvbnRlbnQgPiBwICsgaDM6Zmlyc3Qtb2YtdHlwZSxcbi5jLXd5c2l3eWctY29udGVudCB1bCArIGgyOmZpcnN0LW9mLXR5cGUsXG4uYy13eXNpd3lnLWNvbnRlbnQgdWwgKyBoMzpmaXJzdC1vZi10eXBlLFxuLmMtd3lzaXd5Zy1jb250ZW50IG9sICsgaDI6Zmlyc3Qtb2YtdHlwZSxcbi5jLXd5c2l3eWctY29udGVudCBvbCArIGgzOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogNjBweCAwIDQwcHggMDtcbn1cbmgyOmFmdGVyLFxuaDM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NkJEMjI7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogOHB4O1xufVxuLyogU2VsZWN0IGgyJ3MgYW5kIGgzJ3MgYWZ0ZXIgYSByZXNwb25zaXZlIHZpZGVvIHRvIGxlc3NlbiB0aGUgc3BhY2UgYmV0d2Vlbi4gKi9cbi5jLXJlc3BvbnNpdmUtZW1iZWQgKyBoMixcbi5jLXJlc3BvbnNpdmUtZW1iZWQgKyBoMyB7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuaDMge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAvLyBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5oNCwgaDUge1xuICAgIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbn1cbmg0IHtcbiAgICBmb250LXNpemU6IDIycHg7XG59XG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbmg2IHtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDU4cHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICB9XG4gICAgLy8gaDIsXG4gICAgLy8gaDMsXG4gICAgLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgyOmZpcnN0LW9mLXR5cGUsXG4gICAgLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgzOmZpcnN0LW9mLXR5cGUge1xuICAgIC8vICAgICBtYXJnaW46IDAgMCA0MHB4IDA7XG4gICAgLy8gfVxuICAgIC5jLXd5c2l3eWctY29udGVudCBoMixcbiAgICAuYy13eXNpd3lnLWNvbnRlbnQgaDMsXG4gICAgLmMtd3lzaXd5Zy1jb250ZW50ID4gcCArIGgyOmZpcnN0LW9mLXR5cGUsXG4gICAgLmMtd3lzaXd5Zy1jb250ZW50ID4gcCArIGgzOmZpcnN0LW9mLXR5cGUsXG4gICAgLmMtd3lzaXd5Zy1jb250ZW50IHVsICsgaDI6Zmlyc3Qtb2YtdHlwZSxcbiAgICAuYy13eXNpd3lnLWNvbnRlbnQgdWwgKyBoMzpmaXJzdC1vZi10eXBlLFxuICAgIC5jLXd5c2l3eWctY29udGVudCBvbCArIGgyOmZpcnN0LW9mLXR5cGUsXG4gICAgLmMtd3lzaXd5Zy1jb250ZW50IG9sICsgaDM6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG4gICAgaDQsIGg1IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgfVxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xuICAgIH1cbn1cbi8vIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbi8vICAgICBoMSB7XG4vLyAgICAgICAgIGZvbnQtc2l6ZTogNThweDtcbi8vICAgICAgICAgLy9tYXJnaW46IDAgMCA0MHB4IDA7XG4vLyAgICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbi8vICAgICB9XG4vLyB9XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7IC8vIDY0MFxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG59XG5cbi8qXG5FeGNlcHRpb25zIGZvciBoZWFkZXIgd2hlbiBwbGFjZWQgYWZ0ZXIgY2xhc3NlcyBiZWdpbm5pbmcgcGFkZGluZy4gdS1wYWRkaW5nLVt4XVxuKioqL1xuXG4vKlxuUmVtb3ZlcyB0aGUgbWFyZ2luIGZyb20gaGVhZGVyIHdoZW4gcGxhY2VkIGRpcmVjdGx5IGFmdGVyICcudS1wYWRkaW5nLXRvcCcgb3IgJy51LXBhZGRpbmcteScuXG5BbHNvIGFwcGxpZWQgd2hlbiB1LXBhZGRpbmctdG9wIG9yIHUtcGFkZGluZy15IGlzIHBsYWNlZCBvbiBhIHdyYXBwZXIgZWxlbWVudCB3aXRoICcuYy13cmFwcGVyJy5cbiovXG4vLyAudS1wYWRkaW5nLXkgPiBoMjpmaXJzdC1vZi10eXBlLFxuLy8gLnUtcGFkZGluZy10b3AgPiBoMjpmaXJzdC1vZi10eXBlLFxuLy8gLnUtcGFkZGluZy15ID4gaDM6Zmlyc3Qtb2YtdHlwZSxcbi8vIC51LXBhZGRpbmctdG9wID4gaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuLy8gfVxuLy8gLypcbi8vIFN3YXBzIG1hcmdpbiBhbmQgcGFkZGluZyBzaXplcyB3aGVuIHBsYWNlZCBkaXJlY3RseSBhZnRlciAudS1wYWRkaW5nLWJvdHRvbS5cbi8vIFRoaXMgYWxsb3dzIGZvciB0aGUgcGFkZGluZyB0byBiZSBjb3JyZWN0IGZvciB1c2Ugd2l0aCBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBhbHNvIGdpdmVzIHRoZSBzYW1lIGVmZmVjdC5cbi8vIEFsc28gYXBwbGllZCB3aGVuICcudS1wYWRkaW5nLWJvdHRvbScgaXMgcGxhY2VkIG9uIGEgd3JhcHBlciBlbGVtZW50IHdpdGggJy5jLXdyYXBwZXInLlxuLy8gKi9cbi8vIC51LXBhZGRpbmctYm90dG9tID4gaDI6Zmlyc3Qtb2YtdHlwZSxcbi8vIC51LXBhZGRpbmctYm90dG9tID4gaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuLy8gICAgIHBhZGRpbmc6IDYwcHggMCA0MHB4IDA7XG4vLyB9XG5cbi8vIC8qXG4vLyBNYWtlcyBoZWFkaW5ncyB3b3JrIG5vcm1hbGx5IGlzIGEgcGFyYWdyYXBoIGlzIHBsYWNlZCBiZWZvcmUgdGhlIGhlYWRlci5cbi8vIEFsc28gYXBwbGllZCB3aGVuICcudS1wYWRkaW5nLXRvcCcgb3IgJy51LXBhZGRpbmcteScgaXMgcGxhY2VkIG9uIGEgd3JhcHBlciBlbGVtZW50IHdpdGggJy5jLXdyYXBwZXInLlxuLy8gKi9cbi8vIC51LXBhZGRpbmcteSA+IHAgKyBoMjpmaXJzdC1vZi10eXBlLFxuLy8gLnUtcGFkZGluZy10b3AgPiBwICsgaDI6Zmlyc3Qtb2YtdHlwZSxcbi8vIC51LXBhZGRpbmcteSA+IHAgKyBoMzpmaXJzdC1vZi10eXBlLFxuLy8gLnUtcGFkZGluZy10b3AgPiBwICsgaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgbWFyZ2luOiA2MHB4IDAgNDBweCAwO1xuLy8gfVxuLy8gLypcbi8vIFRoaXMgd2lsbCBmaXggdGhlIHNwYWNpbmcgaWYgYW4gaDMgaXMgcGxhY2VkIGRpcmVjdGx5IGFmdGVyIGFuIGgyIHdpdGggbm8gdGV4dCBiZXR3ZWVuIC5cbi8vIEFsc28gYXBwbGllZCB3aGVuICcudS1wYWRkaW5nLWJvdHRvbScgaXMgcGxhY2VkIG9uIGEgd3JhcHBlciBlbGVtZW50IHdpdGggJy5jLXdyYXBwZXInLlxuLy8gKi9cbi8vIC51LXBhZGRpbmctYm90dG9tID4gaDI6Zmlyc3Qtb2YtdHlwZSArIGgzIHtcbi8vICAgICBtYXJnaW46IDYwcHggMCA0MHB4IDA7XG4vLyAgICAgcGFkZGluZzogMCAwIDQwcHggMDtcbi8vIH1cbi8vIC8qXG4vLyBJbiBtb3N0IGNhc2VzIGFuIGgyIG9yIGgzIGFyZSBwbGFjZWQgaW5zaWRlIGEgd3JhcHBlciB0aGUgcGFkZGluZyB3aWxsIGJlIHNldCB0byAnLnUtcGFkZGluZy10b3AnIG9uIHRoZSB3cmFwcGVyIGl0c2VsZi5cbi8vIElmIHRoaXMgaXMgdGhlIGNhc2UgJy51LXBhZGRpbmctYm90dG9tJyB3aWxsIG1vc3QgbGlrZWx5IGJlIHVzZWQgdG8gYWxsb3cgZm9yIHByb3BlciBzdGFja2luZyBvbiBtb2JpbGUuXG4vLyBUaGlzIHNob3VsZCBzb3J0IGgyIGFuZCBoMyBmb3IgdGhvc2UgaW5zdGFuY2VzLlxuLy8gKi9cbi8vIC5jLXdyYXBwZXIudS1wYWRkaW5nLXRvcCAuY2VsbC51LXBhZGRpbmctYm90dG9tID4gaDI6Zmlyc3Qtb2YtdHlwZSxcbi8vIC5jLXdyYXBwZXIudS1wYWRkaW5nLXRvcCAuY2VsbC51LXBhZGRpbmctYm90dG9tID4gaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgcGFkZGluZzogMCAwIDYwcHggMDtcbi8vIH1cblxuLy8gLmMtd3JhcHBlci51LXBhZGRpbmcteSAuY2VsbCA+IGgyOmZpcnN0LW9mLXR5cGUsXG4vLyAuYy13cmFwcGVyLnUtcGFkZGluZy15IC5jZWxsID4gaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgbWFyZ2luOiAwIDAgNDBweCAwO1xuLy8gfVxuLypcblJlbW92ZXMgdGhlIG1hcmdpbiBmb3IgcGFnZSBoZWFkZXJzIHRoYXQgYXJlIGF1dG9tYXRpYWxseSBvdXRwdXQgb24gcGFnZS5cblRoaXMgaXMgYmVjYXVzZSB0aGUgd3JhcHBpbmcgZGl2IHN0b3BzIG1hcmdpbiBjb2xsYXBzZS5cbioqKi9cbi5jLWF1dG9tYXRpYy1wYWdlLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbn1cbi5oZWFkZXItc3RyaXBwZWQge1xuICAgIHBhZGRpbmc6IDA7XG59XG4uaGVhZGVyLXN0cmlwcGVkOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnUtaGVhZGVyLS1zZWNvbmRhcnktZm9udCB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLnUtaGVhZGVyLS1tYXJnaW4tc3RyaXBwZWQge1xuICAgIG1hcmdpbjogMCAwIDEwcHghaW1wb3J0YW50O1xufVxucCB7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxucCwgbGksIHRoLCB0ZCwgbGVnZW5kIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5sZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5wLnRleHQtbGFyZ2VyLCBwLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cbnVsLCBvbCwgZGwge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuc3Bhbi5pY29uLS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA4MHB4O1xufVxuLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgyIHtcbi8vICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuLy8gfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbi8vICBoMSB7XG4vLyAgICAgIGZvbnQtc2l6ZTogNTJweDtcbi8vICB9XG4vLyB9XG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuLy8gIGgxIHtcbi8vICAgICAgZm9udC1zaXplOiAzOHB4O1xuLy8gIH1cbi8vIH1cblxuXG4vKiBBRERJVElPTkFMIFRZUE9HUkFQSFkgKi9cbi8vIC8qKipcbi8vIEgxIEhlYWRlclxuLy8gKioqL1xuLy8gaDEsXG4vLyAuYy1wYWdlLWhlYWRpbmcge1xuLy8gICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4vLyAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4vLyAgZm9udC13ZWlnaHQ6IDMwMDtcbi8vICAgICBmb250LXNpemU6IDcycHg7XG4vLyAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4vLyAgICAgLy8gbWFyZ2luOiAwIDAgNjBweCAwO1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICBtYXgtd2lkdGg6IDIwY2g7XG5cbi8vICAgICAvLyArIHA6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjRweDtcbi8vICAgICAvLyAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbi8vICAgICAvLyB9XG4vLyB9XG4vLyAuYy1wYWdlLWhlYWRpbmctLWZ1bGwtd2lkdGgge1xuLy8gICAgIG1heC13aWR0aDogbm9uZTtcbi8vIH1cblxuLy8gLm1haW4tY29udGVudC1oZWFkZXIgaDEge1xuLy8gICAgIG1hcmdpbjogMDtcbi8vIH1cblxuLy8gIHtcbi8vICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbi8vICAgICBmb250LXNpemU6IDM2cHg7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbi8vIH1cbi8qKipcbkgyIEhlYWRlclxuKioqL1xuLy8gaDIsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDIsXG4vLyAuYy1wYWdlLXN1Yi1oZWFkaW5nLFxuLy8gLmMtc2VjdGlvbi1oZWFkaW5nIHtcbi8vICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuLy8gICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuLy8gICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4vLyAgICAgZm9udC1zaXplOiAzNnB4O1xuLy8gICAgIC8vbWFyZ2luLWJvdHRvbTogNjBweDtcbi8vICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIH1cbi8vIGgyOmZpcnN0LW9mLXR5cGUsXG4vLyBoMzpmaXJzdC1vZi10eXBlLFxuLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgyOmZpcnN0LW9mLXR5cGUsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgLy9tYXJnaW46IDAgMCA2MHB4IDA7XG4vLyB9XG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgcCArIGgyOmZpcnN0LW9mLXR5cGUsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgcCArIGgzOmZpcnN0LW9mLXR5cGUge1xuLy8gICAgIC8vbWFyZ2luOiA2MHB4IDA7XG4vLyB9XG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7IC8vIDY0MFxuLy8gICAgIC8vIGgyLFxuLy8gICAgIC8vIC5jLXd5c2l3eWctY29udGVudCBoMixcbi8vICAgICAvLyAuYy1wYWdlLXN1Yi1oZWFkaW5nLFxuLy8gICAgIC8vIC5jLXNlY3Rpb24taGVhZGluZyB7XG4vLyAgICAgLy8gICAgIGZvbnQtc2l6ZTogMjhweDtcbi8vICAgICAvLyAgICAgLy9tYXJnaW4tYm90dG9tOiA0MHB4O1xuLy8gICAgIC8vIH1cbi8vICAgICAvLyBoMjpmaXJzdC1vZi10eXBlLFxuLy8gICAgIC8vIGgzOmZpcnN0LW9mLXR5cGUsXG4vLyAgICAgLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgyOmZpcnN0LW9mLXR5cGUsXG4vLyAgICAgLy8gLmMtd3lzaXd5Zy1jb250ZW50IGgzOmZpcnN0LW9mLXR5cGUge1xuLy8gICAgIC8vICAgICAvL21hcmdpbjogMCAwIDQwcHggMDtcbi8vICAgICAvLyB9XG4vLyAgICAgLy8gLmMtd3lzaXd5Zy1jb250ZW50IHAgKyBoMjpmaXJzdC1vZi10eXBlLFxuLy8gICAgIC8vIC5jLXd5c2l3eWctY29udGVudCBwICsgaDM6Zmlyc3Qtb2YtdHlwZSB7XG4vLyAgICAgLy8gICAgIC8vbWFyZ2luOiA0MHB4IDA7XG4vLyAgICAgLy8gfVxuLy8gfVxuXG4vLyAuYy1zZWN0aW9uLWhlYWRpbmcge1xuLy8gICAgIGNvbG9yOiAkYmxhY2s7XG4vLyAgICAgbWFyZ2luOiAwO1xuLy8gICAgIHBhZGRpbmc6IDA7XG4vLyB9XG4vLyAuYy1zZWN0aW9uLWhlYWRpbmc6YWZ0ZXIge1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIH1cbi8qKipcbkgzIEhlYWRlclxuKioqL1xuLy8gaDMsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDMsXG4vLyAuYy1oZWFkaW5nLS1zZWNvbmRhcnktZm9udCB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuLy8gICAgIGZvbnQtc2l6ZTogMzBweDtcbi8vICAgICBmb250LXdlaWdodDogNzAwO1xuLy8gfVxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuLy8gICAgIGgzLFxuLy8gICAgIC5jLXd5c2l3eWctY29udGVudCBoMyxcbi8vICAgICAuYy1oZWFkaW5nLS1zZWNvbmRhcnktZm9udCB7XG4vLyAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbi8vICAgICB9XG4vLyB9XG5cbi8vIGgyLFxuLy8gaDMsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDIsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDMsXG4vLyAuYy1oZWFkaW5nLS1oaWdobGlnaHQge1xuLy8gICAgIHBhZGRpbmc6IDAgMCA0MHB4IDA7XG4vLyAgICAgLy9tYXJnaW46IDYwcHggMDtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyB9XG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDIsXG4vLyAuYy13eXNpd3lnLWNvbnRlbnQgaDMsXG4vLyAuYy1oZWFkaW5nLS1oaWdobGlnaHQge1xuLy8gICAgIC8vbWFyZ2luOiA2MHB4IDA7XG4vLyB9XG5cblxuLy8uaW50ZXJuYWwtcGFnZS1jb250ZW50IGgyLFxuXG4vLy5pbnRlcm5hbC1wYWdlLWNvbnRlbnQgaDI6YWZ0ZXIsXG5cbi8qKipcbkg0IEhlYWRlclxuKioqL1xuLy8gaDQsIGg1LCBoNiB7XG5cblxuXG5cbi8vIC5jLWhlYWRpbmctLXByaW1hcnktZm9udCB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4vLyB9XG4vLyAuYy10aXRsZSB7XG4vLyBcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuLy8gXHRmb250LXdlaWdodDogYm9sZDtcbi8vICAgICBmb250LXNpemU6IDM2cHg7XG4vLyAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbi8vICAgICAvLyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4vLyB9XG4vLyAuYy10aXRsZS0taGlnaGxpZ2h0IHtcbi8vICAgICBjb2xvcjogIzNCNjkzODtcbi8vICAgICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuLy8gICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyB9XG4vLyAuYy10aXRsZS0taGlnaGxpZ2h0OmFmdGVyIHtcbi8vICAgICBjb250ZW50OiAnJztcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEVCQjM4O1xuLy8gICAgIGJvdHRvbTogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICB3aWR0aDogNjBweDtcbi8vICAgICBoZWlnaHQ6IDhweDtcbi8vIH1cblxuXG5cblxuXG4vLyBoMSB+IC5jLXd5c2l3eWctY29udGVudCBwOmZpcnN0LW9mLXR5cGUsXG4vLyAuaW50cm8gcDpmaXJzdC1jaGlsZCB7XG4vLyAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbi8vIH1cbiIsIi5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51LWhlaWdodC0xMDAge1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi51LWN1cnNvci1wb2ludGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udS1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnUtZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qKipcbiAgICBUeXBvZ3JhcGh5XG4qKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIHVwKX0ge1xuICAgIC51LWNvbHVtbi0tdHdvIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgIH1cbn1cbi8qKipcblx0VHlwb2dyYXBoeVxuKioqL1xuLnUtZm9udC1wcmltYXJ5IHtcbiAgICBmb250LWZhbWlseTogJ0ZTTWFqYScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4udS1jYWxsb3V0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogOTBweDtcbn1cbi51LXRleHQtdXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnUtZm9udC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4udS1mb250LXNlbWlib2xkIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuLnUtZm9udC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLyoqKlxuICAgIFNwYWNpbmdcbioqKi9cbi8qXG5NYXJnaW5cbioqKioqKi9cbi51LW1hcmdpbi15IHtcbiAgICBtYXJnaW46IDYwcHggYXV0bztcbn1cbi51LW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG59XG4udS1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7IC8vIDY0MFxuICAgIC51LW1hcmdpbi15IHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG87XG4gICAgfVxuICAgIC51LW1hcmdpbi10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgICAudS1tYXJnaW4tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG59XG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7IC8vIDY0MFxuLy8gICAgIC51LW1hcmdpbi15IHtcbi8vICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG4vLyAgICAgfVxuLy8gICAgIC51LW1hcmdpbi10b3Age1xuLy8gICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuLy8gICAgIH1cbi8vICAgICAudS1tYXJnaW4tYm90dG9tIHtcbi8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbi8vICAgICB9XG4vLyB9XG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHsgLy8gNjQwXG4vLyAgICAgLnUtbWFyZ2luLXRvcCB7XG4vLyAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4vLyAgICAgfVxuLy8gICAgIC51LW1hcmdpbi1ib3R0b20ge1xuLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuLy8gICAgIH1cbi8vIH1cbi8qXG5QYWRkaW5nXG4qKioqKiovXG4udS1wYWRkaW5nLXkge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbn1cbi51LXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbn1cbi51LXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHsgLy8gNjQwXG4gICAgLy8gLnUtbm8tcGFkZGluZy0tc21hbGwge1xuICAgIC8vICAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgICAvLyB9XG4gICAgLnUtcGFkZGluZy15IHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgIH1cbiAgICAudS1wYWRkaW5nLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cbiAgICAudS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cbn1cbi8vIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbi8vICAgICAudS1wYWRkaW5nLXkge1xuLy8gICAgIHBhZGRpbmc6IDIwcHggMDtcbi8vIH1cbi8vICAgICAudS1wYWRkaW5nLXRvcCB7XG4vLyAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuLy8gICAgIH1cbi8vICAgICAudS1wYWRkaW5nLWJvdHRvbSB7XG4vLyAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuLy8gICAgIH1cbi8vIH1cbi8vIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0geyAvLyA2NDBcbi8vICAgICAudS1wYWRkaW5nLXRvcCB7XG4vLyAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuLy8gICAgIH1cbi8vICAgICAudS1wYWRkaW5nLWJvdHRvbSB7XG4vLyAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuLy8gICAgIH1cbi8vIH1cblxuLyoqKlxuU29jaWFsIE1lZGlhIEljb25zIC0gQ29sb3VyXG4qKiovXG4uYy1pY29uLXR3aXR0ZXIge1xuICAgIGNvbG9yOiAjNTVhY2VlO1xufVxuLmMtaWNvbi1mYWNlYm9vayB7XG4gICAgY29sb3I6ICMzYjU5OTg7XG59XG4uYy1pY29uLWluc3RhZ3JhbSB7XG4gICAgY29sb3I6ICMxMjU2ODg7XG59XG4uYy1pY29uLXlvdXR1YmUge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xufVxuLmMtaWNvbi1saW5rZWRpbiB7XG4gICAgY29sb3I6ICMwMDdiYjU7XG59XG4uYy1zb2NpYWwtbGlzdCBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDAgMDtcbn1cbiIsIi8qKipcblZpZGVvIE1hc3RoZWFkXG4qKiovXG4uYy12aWRlby1tYXN0aGVhZCB7XG4gICAgbWF4LWhlaWdodDogNjg5cHg7XG4gICAgbWluLWhlaWdodDogNjg5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy12aWRlby1tYXN0aGVhZCB2aWRlbyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4uYy12aWRlby1tYXN0aGVhZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG4uYy12aWRlby1tYXN0aGVhZF9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xufVxuLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiA4NSU7XG4gICAgbWFyZ2luOiAwIDAgODFweCAwO1xufVxuLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMzFweDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDEwNnB4O1xuICAgIHdpZHRoOiA5OTk5cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgI0ZGRkZGRjtcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI0ZGRkZGRjtcbn1cbi5jLXZpZGVvLW1hc3RoZWFkLS1vcGFjaXR5IHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgLmMtdmlkZW8tbWFzdGhlYWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuICAgIC5jLXZpZGVvLW1hc3RoZWFkIHZpZGVvIHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuICAgIC5jLXZpZGVvLW1hc3RoZWFkX19jYWxsb3V0LXRleHQge1xuICAgICAgICBmb250LXNpemU6IDUxcHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICB9XG4gICAgLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiA2MHB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLXZpZGVvLW1hc3RoZWFkX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNDcwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gICAgLmMtdmlkZW8tbWFzdGhlYWQge1xuICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gICAgLmMtdmlkZW8tbWFzdGhlYWRfX2NhbGxvdXQtdGV4dDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgIH1cbn1cbiIsIi8qKipcbllvdXIgU3R1ZHkgUm91dGVcbioqKi9cbi5jLXN0dWR5LXJvdXRlIHtcbiAgICBtYXJnaW46IDExMHB4IDA7XG59XG4uYy1zdHVkeS1yb3V0ZV9fYnV0dG9uIHtcbiAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAvLyBmb250LXNpemU6IDI4cHg7XG4gICAgcGFkZGluZzogNjlweCAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG59XG5cblxuLy8gdGhpcyBhZGRzIGEgbW9kaWZpZXIgdGhhdCB3aWxsIHBhcnRpYWxseSBsYXllciBpdCBhYm92ZVxuLy8gbm90IHN1cmUgaG93IG9mdGVuIHRoaXMgbWlnaHQgYmUgdXNlZCwgaGF2aW5nIGEgZml4ZWQgLTI1MHB4XG4vLyBzZWVtcyBhIGxpdHRsZSBwcm9ibGVtYXRpYywgYnV0IGNhbid0IHB1dCBpdCBpbnNpZGUgYSBjb250ZW50XG4vLyB0eXBlIHNvIGhvcGVmdWxseSBpdCBjYW4gcmVtYWluIG91dHNpZGVcbi5jLXN0dWR5LXJvdXRlLS1vdmVybGF5IHtcbiAgICAuYy1zdHVkeS1yb3V0ZV9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmMtc3R1ZHktcm91dGVfX2JvZHkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IC0yNTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAgIC5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiA0OXB4IDIwcHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuICAgIC5jLXN0dWR5LXJvdXRlIHtcbiAgICAgICAgbWFyZ2luOiA3MHB4IDA7XG4gICAgfVxufVxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgLmMtc3R1ZHktcm91dGUge1xuICAgICAgICBtYXJnaW46IDYwcHggMDtcbiAgICB9XG4gICAgLmMtc3R1ZHktcm91dGVfX2J1dHRvbiB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgcGFkZGluZzogMzRweCAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIC8vIHdpZHRoOiBpbml0aWFsO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfSB7XG4gICAgLmMtc3R1ZHktcm91dGUge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG4gICAgfVxuICAgIC5jLXN0dWR5LXJvdXRlX19idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICB9XG4gICAgLmMtc3R1ZHktcm91dGUtLW92ZXJsYXkge1xuICAgICAgICAuYy1zdHVkeS1yb3V0ZV9fYm9keSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqKlxuUHJvbW8gQXJlYVxuKioqL1xuLmMtcHJvbW8tYXJlYS5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW46IDAgMCAxMzBweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1wcm9tby1hcmVhX19zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXByb21vLWFyZWFfX2NvbnRlbnQgaDI6YWZ0ZXIsXG4uYy1wcm9tby1hcmVhX19jb250ZW50IGgzOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5jLXByb21vX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICBsaW5lLWhlaWdodDogNzZweDtcbiAgICBtYXJnaW46IDAgMCAxNnB4IDA7XG59XG4uYy1wcm9tb19fc3ViaGVhZGVyIHtcbiAgICBjb2xvcjogJGVuZXJneS1waW5rO1xuICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDA7XG59XG4uYy1wcm9tb19faGVhZGVyLFxuLmMtcHJvbW9fX3N1YmhlYWRlciB7XG4gICAgcGFkZGluZzogMCAxNXB4IDIwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1wcm9tb19faGVhZGVyOmFmdGVyLFxuLmMtcHJvbW9fX3N1YmhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5OTk5cHg7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkICAjOEVCQjM4O1xuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAgIzhFQkIzODtcbn1cbi5jLXByb21vX19oZWFkZXIsXG4uYy1wcm9tb19fc3ViaGVhZGVyLFxuLmMtcHJvbW9fX2luZm8ge1xuICAgIGZvbnQtZmFtaWx5OiAnRlNNYWphJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmMtcHJvbW9fX2luZm8ge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbn1cbi5jLXByb21vLWFyZWFfX2gyIHtcbiAgICBmb250LXNpemU6IDMzcHg7XG59XG4uYy1wcm9tby1hcmVhX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG59XG4uYy1wcm9tby1hcmVhX19jb250ZW50IHtcbiAgICB3aWR0aDogNDEuMiU7XG4gICAgcGFkZGluZzogMzBweDtcbn1cbi5jLXByb21vLWFyZWEtLWhlaWdodCB7XG4gICAgbWluLWhlaWdodDogNzAwcHg7XG59XG4uYy1wcm9tby1hcmVhX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiA1MyU7XG4gICAgbWFyZ2luLWxlZnQ6IC0zJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuLy8gaWYgd2UgaGF2ZSBkZWZpbmVkIGEgYmFja2dyb3VuZCBpbWFnZSBpbnN0ZWFkIG9mIGFuIGltYWdlLCB3ZSB3YW5uYSBleHBhbmQgdGhlIGRpdlxuLy8gaWYgd2UgdXNlIGFuIGltYWdlIHdlIGRvbid0IG5lZWQgdG8gY296IHRoZSBkaXYgd2lsbCBhdXRvIGV4cGVuZCB0byB0aGUgaW1nIGhlaWdodFxuLmMtcHJvbW8tYXJlYV9faW1hZ2Vbc3R5bGUqPSdiYWNrZ3JvdW5kLWltYWdlJ10ge1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5jLXByb21vLWFyZWFfX2ltYWdlLXNsaWRlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1wcm9tby1hcmVhX19pbWFnZS1zbGlkZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuLmMtcHJvbW8tYXJlYV9faW1hZ2UtY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzAwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG59XG4uYy1wcm9tby1hcmVhIHVsLnNsaWNrLWRvdHMge1xuICAgIG1heC13aWR0aDogMTI0MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgZG93bil9IHtcbiAgICAvLyAuYy1wcm9tb19faGVhZGVyIHtcbiAgICAvLyAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLy8gfVxuICAgIC5jLXByb21vX19oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgIH1cbiAgICAuYy1wcm9tb19fc3ViaGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICB9XG4gICAgLmMtcHJvbW9fX2luZm8ge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgICAvLyAuYy1wcm9tby1hcmVhX19wIHtcbiAgICAvLyAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgIC8vIH1cbiAgICAvLyAuYy1wcm9tb19faW5mbyB7XG4gICAgLy8gICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAvLyB9XG4gICAgLmMtcHJvbW8tYXJlYS0taGVpZ2h0IHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLXByb21vLWFyZWEtLWhlaWdodCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM3NHB4O1xuICAgIH1cbiAgICAuYy1wcm9tby1hcmVhX19jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLy8gLmMtcHJvbW9fX2hlYWRlcixcbiAgICAvLyAuYy1wcm9tby1hcmVhX19wLFxuICAgIC8vIC5jLXByb21vX19zdWJoZWFkZXIge1xuICAgIC8vICAgICBmb250LXNpemU6IDUxcHg7XG4gICAgLy8gfVxuICAgIC8vIC5jLXByb21vX19pbmZvIHtcbiAgICAvLyAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIC8vIH1cbiAgICAuYy1wcm9tby1hcmVhX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gICAgfVxufVxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi13aWR0aDogNjM5cHgpIHtcbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbiAgICAuYy1wcm9tby1hcmVhLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgICBtYXJnaW46IDAgMCA4MHB4IDA7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLXByb21vLWFyZWEgdWwuc2xpY2stZG90cyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgfVxuICAgIC5jLXByb21vLWFyZWEuc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmMtcHJvbW8tYXJlYV9fY29udGVudCxcbiAgICAuYy1wcm9tby1hcmVhX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYy1wcm9tby1hcmVhLS1oZWlnaHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICB9XG4gICAgLmMtcHJvbW8tYXJlYSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDU1cHggMDtcbiAgICB9XG4gICAgLmMtcHJvbW8tYXJlYV9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHBhZGRpbmc6IDQwJSAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cbn1cbiIsIi8qKipcblN0YXRpc3RpY3NcbioqKi9cbi5jLXN0YXRpc3RpYy1ibG9jayB7XG4gICAgcGFkZGluZzogNjdweCAwO1xufVxuLmMtc3RhdGlzdGljIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDI2cHg7XG59XG4uYy1zdGF0aXN0aWNfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbn1cbi5jLXN0YXRpc3RpY19fdGV4dCB7XG4gICAgbWFyZ2luOiAwO1xufVxuLmMtc3RhdGlzdGljX19jYWxsb3V0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDAuNztcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG4uYy1zdGF0aXN0aWNfX2NhbGxvdXQtdGV4dC0tc21hbGxlciB7XG4gICAgZm9udC1zaXplOiA4OHB4O1xufVxuLmMtc3RhdGlzdGljX19yZWZlcmVuY2UtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuLmMtc3RhdGlzdGljX19pY29uIHtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG59XG4uYy1zdGF0aXN0aWMgW2NsYXNzKj1cInVvcy1cIl0ge1xuICAgIGZvbnQtc2l6ZTogMTQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG4gICAgXG59IiwiLyoqKlxuSW50ZXJuYXRpb25hbCBTZWN0aW9uXG4qKiovXG4uYy1pbnRlcm5hdGlvbmFsLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDEzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1pbnRlcm5hdGlvbmFsX190ZXh0LWNvbnRhaW5lciB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzNCNjkzRDtcbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNTBweCA2MHB4O1xuICAgIG1pbi13aWR0aDogNDc1cHg7XG4gICAgbWF4LXdpZHRoOiA0NzVweDtcbiAgICAvLyBtYXJnaW46IDE0MHB4IDE1cHggMDtcbn1cbi5jLWludGVybmF0aW9uYWxfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cbi5jLWludGVybmF0aW9uYWxfX2ljb24ge1xuICAgIG1heC1oZWlnaHQ6IDgwcHg7XG59XG4uYy1pbnRlcm5hdGlvbmFsX19iYWNrZ3JvdW5kLW92ZXJsYXkge1xuICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xufVxuLmMtaW50ZXJuYXRpb25hbF9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDU1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4uYy1pbnRlcm5hdGlvbmFsX19saW5rIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuYy1pbnRlcm5hdGlvbmFsLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cbiAgICAuYy1pbnRlcm5hdGlvbmFsX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIH1cbiAgICAuYy1pbnRlcm5hdGlvbmFsX19iYWNrZ3JvdW5kLW92ZXJsYXkge1xuICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgLmMtaW50ZXJuYXRpb25hbF9faGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgIH1cbiAgICAuYy1pbnRlcm5hdGlvbmFsX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICAuYy1pbnRlcm5hdGlvbmFsX19saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG59IiwiLyoqKlxuSG9tZXBhZ2UgTmV3cyBhbmQgRXZlbnRzXG4qKiovXG4uYy1ob21lcGFnZS1uZXdzLWV2ZW50cyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmMtaG9tZXBhZ2UtbmV3cy1ldmVudHMgLmMtbmV3cy1ldmVudHNfX25ld3MgLmMtbmV3cy1ldmVudHNfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLyoqKlxuTmV3cyBhbmQgRXZlbnRzXG4qKiovXG4vLyAuYy1uZXdzLWV2ZW50cyB7XG4vLyAgICAgbWFyZ2luOiAxMzBweCAwO1xuLy8gfVxuLy8gLmMtbmV3cy1ldmVudHMgaW1nIHtcbi8vICAgICB3aWR0aDogMTAwJTtcbi8vIH1cbi5jLW5ld3MtZXZlbnRzX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMjBweCAzMXB4IDA7XG59XG4uYy1uZXdzLWV2ZW50cy1oZWFkZXIgPiAubGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmMtbmV3cy1ldmVudHNfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uYy1uZXdzLWV2ZW50c19fdGl0bGU6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLW5ld3MtZXZlbnRzX19zdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG4uYy1uZXdzLWV2ZW50c19fYXJ0aWNsZS1tZXRhLFxuLmMtbmV3cy1ldmVudHNfX25ld3MgLmMtbmV3cy1ldmVudHNfX3RpbWUsXG4uYy1uZXdzLWV2ZW50c19fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTZweCAwO1xufVxuLmMtbmV3cy1ldmVudHNfX3RpbWUsXG4uYy1uZXdzLWV2ZW50c19fZXZlbnQtbG9jYXRpb24ge1xuICAgIGNvbG9yOiAjNUI1NjRFO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLy8gLmMtbmV3cy1ldmVudHMge1xuICAgIC8vICAgICBtYXJnaW46IDgwcHggMDtcbiAgICAvLyB9XG4gICAgLmMtbmV3cy1ldmVudHNfX25ld3MgLmMtbmV3cy1ldmVudHNfX2FydGljbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAvLyAuYy1uZXdzLWV2ZW50cyB7XG4gICAgLy8gICAgIG1hcmdpbjogNjBweCAwO1xuICAgIC8vIH1cbiAgICAuYy1uZXdzLWV2ZW50c19fbmV3cyAuYy1uZXdzLWV2ZW50c19fYXJ0aWNsZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICAgIC8vIC5jLWhvbWVwYWdlLW5ld3MtZXZlbnRzIC5jLW5ld3MtZXZlbnRzX19uZXdzIHtcbiAgICAvLyAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIC8vIH1cbiAgICAvLyAuYy1uZXdzLWV2ZW50c19fYXJ0aWNsZSB7XG4gICAgLy8gICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAvLyB9XG59XG4iLCIvLyBUT0RPIGRlY2lkZSBvbiB3aGljaCBoZWFkZXItc2VhcmNoIHdlIHdhbm5hIHVzZSwgYW5kIHRoZW4gcmVtb3ZlIG90aGVyc1xuXG5AaW1wb3J0ICdob21lcGFnZS92aWRlby1tYXN0aGVhZCc7XG5AaW1wb3J0ICdob21lcGFnZS9zdHVkeS1yb3V0ZSc7XG5AaW1wb3J0ICdob21lcGFnZS9wcm9tby1hcmVhJztcbkBpbXBvcnQgJ2hvbWVwYWdlL3Jlc2VhcmNoLXByb21vJztcbkBpbXBvcnQgJ2hvbWVwYWdlL3N0YXRpc3RpY3MtYmFuZCc7XG5AaW1wb3J0ICdob21lcGFnZS9pbnRlcm5hdGlvbmFsLXByb21vJztcbkBpbXBvcnQgJ2hvbWVwYWdlL25ld3MtZXZlbnRzJztcblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNjUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnZpZGVvLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi52aWRlby13cmFwIGgxIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi52aWRlby13cmFwIC5ncmFkaWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udmlkZW8tdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW46IDYlIDAgMCA0JTtcbiAgICB6LWluZGV4OiB6KCR6LWluZGV4LWVsZW1lbnRzLCBob21lcGFnZS1tYXN0aGVhZC12aWRlbyk7XG59XG5cbi5wcm9tbyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG4ucHJvbW8gPiAuZ3JpZC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9ncmVlbi1tYXAucG5nJyk7XG4gICAgcGFkZGluZzogODVweCAwO1xufVxuLnByb21vLS1jYWxlbmRhciB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wcm9tby0tY2FsZW5kYXItY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvbW8gLnVvcy1jYWxlbmRhciB7XG4gICAgZm9udC1zaXplOiAxMzBweDtcbn1cbi5wcm9tby0tY2FsZW5kYXIgLmRhdGUge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5wcm9tby0tY2FsZW5kYXIgLm1vbnRoIHtcbn1cbi5wcm9tby0tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnJlc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvcmVzZWFyY2gtaW1hZ2UucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgbWFyZ2luOiAxMTVweCAwIDIwMHB4O1xuICAgIHBhZGRpbmc6IDEwOHB4IDA7XG59XG4ucmVzZWFyY2ggaDEge1xuICAgIG1hcmdpbjogMCAwIDYwcHggMDtcbn1cbi5yZXNlYXJjaC0tYXJ0aWNsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nOiA2MHB4O1xufVxuLnJlc2VhcmNoLS1hcnRpY2xlIGgyIHtcbiAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBtYXJnaW46IDAgMCA1MHB4IDA7XG5cbn1cbi5yZXNlYXJjaCAuY2FsbG91dC1idXR0b25zIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IC0xNzBweDtcbn1cblxuLmludGVybmF0aW9uYWwge1xufVxuLmludGVybmF0aW9uYWwgLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogODIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmludGVybmF0aW9uYWwtLWZlYXR1cmUtaW1hZ2Uge1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDM2MHB4O1xufVxuLmNlbGwuaW50ZXJuYXRpb25hbC0tY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xufVxuLmludGVybmF0aW9uYWwtLWNvbnRlbnQgcCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmludGVybmF0aW9uYWwtLWNvbnRlbnQgLnVvcy1nbG9iZSB7XG4gICAgY29sb3I6ICRlbmVyZ3ktZ3JlZW47XG4gICAgZm9udC1zaXplOiA3MnB4O1xuICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcbn1cbi8vIC5jb3VudGVyIHtcbi8vICAgICBmb250LXNpemU6IDEzMHB4O1xuLy8gfVxuLmludGVybmF0aW9uYWwtLWNvbnRlbnQgc3VwIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgdG9wOiAtMS4yZW07XG59XG5cbi5jaGV2cm9uLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIHdpZHRoOiAxMHB4O1xufVxuLmxpbmsge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZm9udC1zaXplOiAyM3B4O1xufVxuIiwiLyogQ09VUlNFUyAqL1xuXG4vLyBUaXRsZSBzZWN0aW9uXG4vKioqXG5IZWFkZXIgZm9yIENvdXJzZSBQYWdlc1xuKioqL1xuLmMtY291cnNlLWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtY291cnNlLXRpdGxlX19oZWFkaW5nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmMtY291cnNlLXRpdGxlX191Y2FzLWNvZGVzIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5jLWNvdXJzZS1vcHRpb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcblxuICAgIFtjbGFzc149XCJ1b3MtXCJdLCBbY2xhc3MqPVwiIHVvcy1cIl0ge1xuICAgICAgICBjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuICAgIH1cbn1cblxuLmMtY291cnNlLW9wdGlvbnNfX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmMtY291cnNlLW9wdGlvbnNfX3Rvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgLy8gYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAvLyBib3gtc2hhZG93OiAzcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIC4yKTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB6KCR6LWluZGV4LWVsZW1lbnRzLCBjb3Vyc2Utb3B0aW9ucy10b29sdGlwKTtcbn1cblxuLmMtY291cnNlLW9wdGlvbnNfX2ljb246aG92ZXIgLmMtY291cnNlLW9wdGlvbnNfX3Rvb2x0aXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jb3Vyc2UtdGl0bGVfX2xvZ29zIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtdGl0bGVfX2J1dHRvbnMge1xuICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAyOHB4IDIwcHggMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAuYy1jb3Vyc2UtdGl0bGVfX2ludHJvIHtcbi8vICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuLy8gfVxuXG5cbi8vIHN0aWNreSBtZW51XG5cbi5jLWNvdXJzZS10aXRsZS1zdGlja3ktbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogeigkei1pbmRleC1lbGVtZW50cywgY291cnNlLXN0aWNreS1tZW51KTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnVfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctdG9wOiAyMXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtdGl0bGUtc3RpY2t5LW1lbnVfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDI4cHggMjBweCAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxOHB4IDIwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBjb3Vyc2UgdGFic1xuXG4vLyBhY2NvcmRpb25zIHdpbGwgbG9vayBkaWZmZXJlbnRseSB3aGV0aGVyIGl0J3MgaW5zaWRlIGFuIHRhYnNfZGFyayBhY2NvcmRpb24gKHRhYnNcbi8vIGJyb2tlbiB0byBhY2NvcmRpb24gZm9yIG1vYmlsZSlcblxuLmMtY291cnNlLXRhYnNfX3RhYnMudGFicy0tZGFyay5hY2NvcmRpb24geyAvLyB3YXMgdGFicywgYWNjb3JkaW9uIGZvciBtb2JpbGVcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSxcblx0XHQuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuXHRcdC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0fVxuICAgIH1cblxuICAgID4gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuICAgIH1cbn1cblxuLmMtY291cnNlLXRhYnNfX3RhYnMtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSB1cCl9IHtcbiAgICAuYy1jb3Vyc2UtdGFic19fdGFicy13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmstbWluaztcbiAgICB9XG59XG5cbi5jLWNvdXJzZS10YWJzX19jb250ZW50LXdyYXBwZXIge1xuICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG5cbiAgICBwLCBsaSwgdGgsIHRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbn1cblxuXG5cblxuLmMtY291cnNlLW92ZXJ2aWV3X19wcmltYXJ5LWFjY29yZGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGxpOmxhc3QtY2hpbGQge1xuXG4gICAgfVxufVxuXG4jdWctb3ZlcnZpZXctYWNjb3JkaW9uX19raXMtd2lkZ2V0IHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5cbi8vIENvdXJzZSBtb2R1bGVzIHRhYmxlXG5cbiNjb3Vyc2UtbW9kdWxlcy1kZXNjcmlwdGlvbl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4jY291cnNlLW1vZHVsZXMtZGVzY3JpcHRpb25fX2JvZHkge1xuICAgIHAsIGxpLCB0aCwgdGQge1xuICAgIFx0Zm9udC1zaXplOiAxNnB4O1xuICAgIH1cbn1cblxuJGNvdXJzZS1tb2R1bGVzLXJvdy1zcGFjaW5nOiAxNHB4O1xuXG4uYy1jb3Vyc2UtbW9kdWxlc19fdGFibGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuXG4gICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxNHB4IHNvbGlkICRiZy1ncmV5O1xuXG4gICAgICAgICAgICB0ciwgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fbW9kdWxlLW5vdC1hdmFpbGFibGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLWNvdXJzZS1tb2R1bGVzX190YWJsZSxcbi5jLWNvdXJzZS1tb2R1bGVzX192aWV3LW1vcmUtbGluayxcbi5jLWNvdXJzZS1tb2R1bGVzX19wZG0tbm90ZSB7XG4gICAgKyAuYy1jb3Vyc2UtbW9kdWxlc19fY29sbGVjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fZGl2aWRlIHtcbiAgICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogJGhlcml0YWdlLWdyZWVuO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMzJweCAtICRjb3Vyc2UtbW9kdWxlcy1yb3ctc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fbW9kdWxlLWNvZGUge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG59XG5cbi5jLWNvdXJzZS1tb2R1bGVzX19hY2NvcmRpb24tY29udGVudC0taGlkZS1yb3dzIHtcbiAgICB0cjpudGgtb2YtdHlwZSg1KSB+IHRyIHtcbiAgICAvLyB0cjpudGgtb2YtdHlwZSgxMikgfiB0ciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fcGRtLW5vdGUge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmMtY291cnNlLW1vZHVsZXNfX2NvbGxlY3Rpb24taGVhZGVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgKyB0YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG4uYy1jb3Vyc2UtbW9kdWxlc19fY29sbGVjdGlvbi1ub3RlcyB7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgLy8gZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY291cnNlLW1vZHVsZXNfX2xvYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi5jLWxvY2FsLWN1cnJlbmN5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLmMtbG9jYWwtY3VycmVuY3lfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLmMtbG9jYWwtY3VycmVuY3lfX3ZhbHVlIHtcbiAgICBmb250LXNpemU6IDIwMCU7XG59XG4uYy1sb2NhbC1jdXJyZW5jeV9fbm90ZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cbi8vIEZlZXNcblxuI3VnLWNvdXJzZS10YWJzX19jb3Vyc2UtZGV0YWlscyB7XG4gICAgLmMtc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG59XG5cbi5jLWNvdXJzZS1mZWVzX190YWJsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHRib2R5IHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvdXJzZS1mZWVzLXRhYmxlX190dWl0aW9uLWZlZS1ub3RlIHtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVmlkZW8gdGVzdGltb25pYWxzXG5cbi5jLWNvdXJzZS10ZXN0aW1vbmlhbHMge1xuXG59XG5cbi5jLWNvdXJzZS10ZXN0aW1vbmlhbHNfX3NsaWRlIHtcblxufVxuXG4uYy1jb3Vyc2UtdGVzdGltb25pYWxfX3dyYXBwZXIge1xuICAgIC5jLXJlc3BvbnNpdmUtZW1iZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIH1cbn1cblxuXG4uYy1jb3Vyc2UtcmVsYXRlZF9fYnV0dG9ucyB7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLW1pbms7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5N2JcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3Vvcyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFyay1taW5rO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1taW5rO1xuICAgICAgICAgICAgICAgIGEsIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1taW5rO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBzdHJvbmcge1xuICAgICAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGRhcmstbWluaztcbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICArIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuICAgIC5jLWNvdXJzZS1yZWxhdGVkX19idXR0b25zIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICBhICsgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIFlvdSBtYXkgYWxzbyBiZSBpbnRlcmVzdGVkIGluXG5cbi5jLWNvdXJzZS1yZWxhdGVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xufVxuXG5cblxuLy8gV2hhdCdzIG5leHQgY3RhXG5cbi5jLXdoYXRzLW5leHQge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbn1cbi5jLWNvdXJzZS13aGF0cy1uZXh0X193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG5cbiAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4uYy1jb3Vyc2Utd2hhdHMtbmV4dF9fbGluayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMTBweCAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcXGU5N2JcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwidW9zXCI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLXdoYXRzLW5leHQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuYy1jb3Vyc2Utd2hhdHMtbmV4dF9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbiIsIi8qIENPVU5UUklFUyAqL1xuXG4uYy1jb3Vyc2Utc2VhcmNoLXdpZGdldF9fcXVlcnktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1jb3VudHJ5LXNlYXJjaF9fcXVlcnkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI0NEQ0RDRDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbjogMCAyLjgxMjVyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMCAxcmVtIDQuMTg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vZGlzdC9jc3MvaW1hZ2VzL2ljb25zL21hZ25pZnktY291cnNlLXNlYXJjaC5zdmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1ib3R0b20gMC4zcyBlYXNlLWluLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjOEVCQjM4O1xuICAgIH1cbn1cblxuLmMtY291bnRyaWVzLWxldHRlcnMge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG5cbi5jLWNvdW50cmllcy1sZXR0ZXJzX19ib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMTMpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWdyZXk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAmW2RhdGEtZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtbWluaztcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLWNvdW50cmllc19fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmMtY291bnRyaWVzX19pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4iLCIvKiBGQUNVTFRJRVMgKi9cblxuLmMtZmFjdWx0eS1tYXN0aGVhZCB7XG5cdC5jLW1hc3RoZWFkX19jYWxsb3V0LXRleHQ6YWZ0ZXIge1xuXHRcdHJpZ2h0OiAtMzBweDtcblx0fVxufVxuXG4uYy1mYWN1bHR5LWludHJvIHtcblx0cGFkZGluZzogNzBweCAwO1xufVxuXG5cbi5jLWZhY3VsdHktcHJvbW8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWZhY3VsdHktcHJvbW9fX2J1dHRvbnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRib3R0b206IC01MHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIHVwKX0ge1xuXHQuYy1mYWN1bHR5LXByb21vIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNTBweDtcblx0XHRtaW4taGVpZ2h0OiA4NTBweDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9IHtcblx0LmMtZmFjdWx0eS1wcm9tb19fYnV0dG9ucyB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0fVxufVxuXG4uYy1zZWN0aW9uLWJveF9faGVhZGluZyB7XG5cdGJvcmRlci10b3A6IDNweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuXHRwYWRkaW5nLXRvcDogMjVweDtcblx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLmMtZmFjdWx0eS1yZXNlYXJjaC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtZmFjdWx0eS1jb250YWN0IHtcblx0bWFyZ2luLWJvdHRvbTogODBweDtcbn1cbiIsIi8qICBTY2hvbGFyc2hpcHMgKi9cblxuLmMtc2Nob2xhcnNoaXAtc2VhcmNoIHtcblx0cGFkZGluZzogNTBweCAwO1xufVxuXG4vLyAuYy1zY2hvbGFyc2hpcC1zZWFyY2hfX2J1dHRvbiB7XG4vLyBcdHBhZGRpbmc6IDAuNWVtO1xuLy8gXHRtYXJnaW4tdG9wOiAxLjdyZW07XG4vLyBcdGZvbnQtc2l6ZTogMXJlbTtcbi8vIH1cblxuLmMtc2Nob2xhcnNoaXAtc2VhcmNoX19sb2FkaW5nLFxuLmMtc2Nob2xhcnNoaXAtc2VhcmNoX19yZXN1bHRzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmMtc2Nob2xhcnNoaXAtc2VhcmNoLXJlc3VsdHMge1xuXHRwYWRkaW5nOiA1MHB4IDA7XG59XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHQge1xuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uYy1zY2hvbGFyc2hpcC1zZWFyY2gtcmVzdWx0X190aXRsZSB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHRfX2RldGFpbCB7XG5cdGJhY2tncm91bmQ6ICRiZy1ncmV5O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4vLyBncmVlbiBsaW5lIG9uIGZpcnN0IGRldGFpbCBib3hcbi5jLXNjaG9sYXJzaGlwLXNlYXJjaC1yZXN1bHRfX2RldGFpbHMgPiAuY2VsbDpmaXJzdC1jaGlsZCAuYy1zY2hvbGFyc2hpcC1zZWFyY2gtcmVzdWx0X19kZXRhaWwge1xuXHRib3JkZXItbGVmdDogM3B4IHNvbGlkICRlbmVyZ3ktZ3JlZW47XG59XG4iLCIvKiAgU2Nob2xhcnNoaXBzICovXG5cbi5jLXRlc3RpbW9uaWFscy1zZWFyY2gge1xuXHRwYWRkaW5nOiA1MHB4IDA7XG59XG5cbi5jLXRlc3RpbW9uaWFscy1zZWFyY2hfX2xvYWRpbmcsXG4uYy10ZXN0aW1vbmlhbHMtc2VhcmNoX19yZXN1bHRzIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLy8gLmMtdGVzdGltb25pYWwtcmVzdWx0IHtcbi8vIFx0d2lkdGg6IDEwMCU7XG4vLyB9XG5cbi8vIC5jLXRlc3RpbW9uaWFsLXJlc3VsdF9fY29udGFpbmVyIHtcbi8vIFx0bWF4LWhlaWdodDogMjUwMHB4O1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vICAgICBmbGV4LXdyYXA6IHdyYXA7XG4vLyBcdHdpZHRoOiAxMDAlO1xuLy8gXHRvdmVyZmxvdzogaGlkZGVuO1xuLy8gfVxuLy9cbi8vIC5jLXRlc3RpbW9uaWFsLXJlc3VsdCB7XG4vLyBcdC8vIGZsZXg6IDEgMSA4MHB4O1xuLy8gXHR3aWR0aDogMzMuMzMzMzMlO1xuLy8gICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4vLyAgICAgLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XG4vLyB9XG5cblxuXG4vLyBUT0RPIHRlc3Rpbmcgb25seVxuI2NvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4uYy10ZXN0aW1vbmlhbC1yZXN1bHRfX2NvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtdGVzdGltb25pYWwtcmVzdWx0IHtcbiAgICB3aWR0aDogMzMuMzMzJTtcblx0Ly8gcGFkZGluZy1ib3R0b206IDQwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgLy8gaGVpZ2h0OiAyMDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBwYWRkaW5nOiAzMHB4O1xuICAgIC8vIGJhY2tncm91bmQ6ICNDQ0M7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcblx0LmMtdGVzdGltb25pYWwtcmVzdWx0IHtcblx0ICAgIHdpZHRoOiA1MCU7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXRlc3RpbW9uaWFsLXJlc3VsdCB7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0fVxufVxuXG4vLyAuaXRlbS53MiB7XG4vLyAgICAgd2lkdGg6IDEzMHB4O1xuLy8gfVxuLy9cbi8vIC5pdGVtLmgyIHtcbi8vICAgICBoZWlnaHQ6IDEzMHB4O1xuLy8gfVxuIiwiLyoqKlxuSU5URVJOQUwgSE9NRVBBR0VcblxuU3R5bGVzIHRoZSBpbnRlcm5hbCBob21lcGFnZSBmb3IgdGhlIHdlYnNpdGUuXG4qKiovXG5cbkBpbXBvcnQgJ2ludGVybmFsL2J1cmdlci1tZW51cyc7XG5AaW1wb3J0ICdpbnRlcm5hbC9pbnRlcm5hbC1zZWFyY2gnO1xuXG4vKioqXG5JbnRlcm5hbCBNYXN0aGVhZFxuKioqL1xuLmMtaW1hZ2UtdGV4dC1ibG9jay0taW50ZXJuYWwgPiAuZ3JpZC1jb250YWluZXIge1xuXHRtaW4taGVpZ2h0OiAyNTBweDtcbn1cbi5jLWltYWdlLXRleHQtYmxvY2stLWludGVybmFsIC5jLWltYWdlLXRleHQtYmxvY2tfX2ltYWdlIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuXG4uaW50ZXJuYWwtcGFnZXMgLmludHJvIHtcblx0bWFyZ2luLXRvcDogNjBweDtcbn1cbi5pbnRlcm5hbC1wYWdlcyAuaW50cm8gaDEge1xuXHRjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuXHRmb250LXNpemU6IDM2cHg7XG59XG4uaW50ZXJuYWwtcGFnZXMgLmludHJvIHAge1xuXHRmb250LXNpemU6IDI2cHg7XG59XG4uaW50ZXJuYWwtc2VhcmNoLWJhciB7XG5cdG1hcmdpbjogNjBweCAwO1xufVxuLmludGVybmFsLWluZGV4IHtcblx0cGFkZGluZzogMCAwIDYwcHg7XG59XG4uaW50ZXJuYWwtcGFnZXMgLmludGVybmFsLWluZGV4LWNvbHVtbnMsXG4uaW50ZXJuYWwtcGFnZXMgLmhlYWRlci0taW50ZXJuYWwtbWVudSB1bCB7XG5cdGNvbHVtbi1jb3VudDogMztcbn1cbi5pbnRlcm5hbC1wYWdlcyB1bCB7XG5cdC8vIG1hcmdpbjogMCAwIDM1cHggMDtcbiAgICAvKlxuXHQtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHQgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHQgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICovXG59XG4uaW50ZXJuYWwtaW5kZXggaDIge1xuXHRjb2xvcjogJGJsYWNrO1xuXHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0Zm9udC1zaXplOiAyNnB4O1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRtYXgtd2lkdGg6IDc1JTtcbn1cbi5pbnRlcm5hbC1wYWdlcyAuaW50ZXJuYWwtaW5kZXggYTpob3ZlciB7XG5cdGNvbG9yOiAjMDA2OTM4O1xufVxuLmludGVybmFsLXBhZ2VzIC5wbGFjZWhvbGRlciAudW9zLW1hZ25pZnlpbmctZ2xhc3Mge1xuXHRjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG5cdC5pbnRlcm5hbC1wYWdlcyAuaW50ZXJuYWwtaW5kZXgtY29sdW1ucyB7XG5cdFx0Y29sdW1uLWNvdW50OiAyO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcblx0LmludGVybmFsLXBhZ2VzIC5pbnRlcm5hbC1pbmRleC1jb2x1bW5zIHtcblx0XHRjb2x1bW4tY291bnQ6IDE7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzNXB4KSB7XG5cdC5pbnRlcm5hbC1pbmRleCBoMiB7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHR9XG5cdC8qKipcblx0SU5URVJOQUwgQUNDT1JESU9OXG5cdCoqKi9cblx0LmFjY29yZGlvbi1zZWN0aW9uIHtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAyNXB4IDA7XG5cdH1cblx0LmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0LmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi10aXRsZSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tdGl0bGU6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnKyc7XG5cdFx0Y29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblx0fVxuXHQuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXN0YXRlOmNoZWNrZWQrLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXRpdGxlOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHR9XG5cdC5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tbGlzdCB7XG4vKlxuXHRcdG1hcmdpbjogMDtcblx0ICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdCAgICBwYWRkaW5nLXRvcDogNXB4O1xuXHQgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB0b3A6IDEwMCU7XG5cdCAgICBsZWZ0OiAwO1xuXHQgICAgd2lkdGg6IDEwMCU7XG4gXHQgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXHQgICAgei1pbmRleDogLTE7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwcHgpO1xuKi9cblx0fVxuXHQuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXN0YXRlOmNoZWNrZWQrLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbiAuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLWxpc3Qge1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdCAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHQgICAgei1pbmRleDogMTtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuXHQgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcblx0ICAgIHRyYW5zZm9ybTogbm9uZTtcblx0ICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG5cdH1cbn1cbi8qKipcbklOVEVSTkFMIEFDQ09SRElPTlxuXG4qKiovXG4uYWNjb3JkaW9uLXNlY3Rpb24ge1xuXHRtYXJnaW46IDAgMCA0MHB4O1xufVxuLmFjY29yZGlvbi1jb2x1bW4ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXN0YXRlIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xufVxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi10aXRsZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHotaW5kZXg6IDI7XG59XG4vLyAuYWNjb3JkaW9uLWNvbHVtbi1zZWN0aW9uLXRpdGxlOmJlZm9yZSB7XG4vLyBcdGNvbnRlbnQ6ICcnO1xuLy8gfVxuLmFjY29yZGlvbi1jb2x1bW4tc2VjdGlvbi1pdGVtIGEge1xuXHRjb2xvcjogIzhlOGU4ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzOXB4KSB7XG5cdC5pbnRlcm5hbC1zZWFyY2gtYmFyIHtcblx0XHRtYXJnaW46IDMwcHggMCAwO1xuXHR9XG5cdC5pbnRlcm5hbC1wYWdlcyAuaW50cm8gaDEge1xuXHRcdGZvbnQtc2l6ZTogMjhweDtcblx0fVxuXHQuaW50ZXJuYWwtcGFnZXMgLmludHJvIHAge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxuXHQuaW50ZXJuYWwtcGFnZXMgLnBsYWNlaG9sZGVyIC51b3MtbWFnbmlmeWluZy1nbGFzcyB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG59XG5cblxuXG4vKioqXG5JTlRFUk5BTCBPVkVSVklFVyBQQUdFXG5cblN0eWxlcyB0aGUgaW50ZXJuYWwgb3ZlcnZpZXcgcGFnZXMgZm9yIHRoZSB3ZWJzaXRlLlxuKioqL1xuLmludGVybmFsLXBhZ2UtY29udGVudCBociB7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmNmY1ZjQ7XG4gICAgbWFyZ2luOiAxLjZyZW0gMCAyLjNyZW07XG59XG4uaW50ZXJuYWwtcGFnZS1jb250ZW50IC5iYi1ub3RlIHtcblx0Zm9udC1zaXplOiAwLjlyZW07XG59XG4vLyAuaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQtaGVhZGVyIGgxLFxuLy8gLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IGgxIHtcbi8vIFx0Y29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcbi8vIFx0Zm9udC1zaXplOiA1OHB4O1xuLy8gXHQtbXMtaHlwaGVuczogYXV0bztcbi8vICAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4vLyAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuLy8gICAgIGh5cGhlbnM6IGF1dG87XG4vLyBcdG1hcmdpbjogMDtcbi8vIFx0bWF4LXdpZHRoOiB1bnNldDtcbi8vIH1cbi8vIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcbi8vIFx0LmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50LWhlYWRlciBoMSxcbi8vIFx0LmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IGgxIHtcbi8vIFx0XHRmb250LXNpemU6IDQycHg7XG4vLyBcdH1cbi8vIH1cbi8vIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuLy8gXHQuaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQtaGVhZGVyIGgxLFxuLy8gXHQuaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgaDEge1xuLy8gXHRcdGZvbnQtc2l6ZTogMzJweDtcbi8vIFx0fVxuLy8gfVxuLy8gLmludGVybmFsLXBhZ2UtY29udGVudCAuYy13eXNpd3lnLWNvbnRlbnQgaDMge1xuLy8gXHRwYWRkaW5nOiAwO1xuLy8gfVxuLy8uaW50ZXJuYWwtcGFnZS1jb250ZW50IC5jLXd5c2l3eWctY29udGVudCBoMixcbi8vIC5pbnRlcm5hbC1wYWdlLWNvbnRlbnQgLmMtd3lzaXd5Zy1jb250ZW50IGgzLFxuLy8gLmludGVybmFsLXBhZ2UtY29udGVudCAuYy13eXNpd3lnLWNvbnRlbnQgaDQge1xuLy8gXHRjb2xvcjogJGJsYWNrO1xuLy8gXHRmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyBcdGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyBcdHBhZGRpbmc6IDA7XG4vLyBcdG1hcmdpbjogNDBweCAwIDEwcHggMDtcbi8vIH1cbi8vLmludGVybmFsLXBhZ2UtY29udGVudCAuYy13eXNpd3lnLWNvbnRlbnQgaDI6YWZ0ZXIsXG4vLyAuaW50ZXJuYWwtcGFnZS1jb250ZW50IC5jLXd5c2l3eWctY29udGVudCBoMzphZnRlciB7XG4vLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIH1cbi8vIC5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCBoMyxcbi8vIC5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCBoMyBzdHJvbmcgIHtcbi8vICAgICBmb250LXNpemU6IDI0cHg7XG4vLyAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuLy8gfVxuLy8gLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IGg0LFxuLy8gLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IGg0IHN0cm9uZyAge1xuLy8gICAgIGZvbnQtc2l6ZTogMjJweDtcbi8vICAgICBtYXJnaW46IDMwcHggMCAwIDA7XG4vLyB9XG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQtaGVhZGVyIGgxe1xuIFx0bWFyZ2luOiAwIDAgNDBweCAwO1xuIH1cbi8qIHJrICovXG4uaW50ZXJuYWwtYmFubmVyIGltZ3tcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbn1cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCAucHJvbW8tYm94IGgye1xuICAgIG1hcmdpbi10b3A6IDByZW0gO1xufVxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC5wcm9tby1ib3ggc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICBmb250LXNpemU6IDRyZW07XG59XG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rc3tcbiAgICBiYWNrZ3JvdW5kOiAjM0I2OTM4O1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbn1cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCAudXNlZnVsLWxpbmtzIGgye1xuICAgIGNvbG9yOiAjZmZmO1xufVxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC51c2VmdWwtbGlua3MgdWx7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIG1hcmdpbi1sZWZ0OjA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCAudXNlZnVsLWxpbmtzIHVse1xuICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgfVxufVxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC51c2VmdWwtbGlua3MgdWwgbGl7XG4gICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB1bCBsaSBhe1xuICAgICBjb2xvcjojZmZmO1xufVxuLmludGVybmFsLXBhZ2UtbWFpbi1jb250ZW50IC51c2VmdWwtbGlua3MgdWwgbGkgYTo6YWZ0ZXIsXG4uaW50ZXJuYWwtcGFnZS1tYWluLWNvbnRlbnQgLnVzZWZ1bC1saW5rcyB1bCBsaSBhLmJ1dHRvbjo6YWZ0ZXIge1xuICAgICBjb250ZW50OiBcIuKAulwiO1xuICAgICBsZWZ0OiAxMHB4O1xuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vKiBlbmQgcmsgKi9cbi5pbnRlcm5hbC1wYWdlLW1haW4tY29udGVudCBwLmxlYWQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI0Y2RjVGNDtcblx0Ym9yZGVyLWxlZnQ6IDdweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuXHRwYWRkaW5nOiAzMHB4O1xuXHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gb2wsIC5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIHVsIHtcblx0Y291bnRlci1yZXNldDogaXRlbTtcblx0LXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG5cdGNvbHVtbi1jb3VudDogMjtcblx0bWFyZ2luOiAwO1xufVxuLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gbGkge1xuXHRjb2xvcjogJGhlcml0YWdlLWdyZWVuO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDAgMCAxNXB4IDMwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIGxpIGEge1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGhlcml0YWdlLWdyZWVuO1xufVxuLmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gbGk6YmVmb3JlIHtcblx0Y291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgY29udGVudDogY291bnRlcihpdGVtKVwiLiBcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5pbnRlcm5hbC1zdWItc2VjdGlvbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuICAgIH1cbn1cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgbmF2IHtcblx0cG9zaXRpb246IHN0aWNreTtcblx0dG9wOiAzMHB4O1xufVxuLmludGVybmFsLXNpZGViYXItbWVudSBhIHtcblx0Y29sb3I6ICM3NDZFNjQ7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMTBweCAwO1xufVxuLmludGVybmFsLXNpZGViYXItbWVudSBzcGFuIHtcblx0Y29sb3I6ICM3NDZFNjQ7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgLm11bHRpbGV2ZWwtbGlua3VsLTEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IC5tdWx0aWxldmVsLWxpbmt1bC0xIHNwYW5bY2xhc3MqPVwiY3VycmVudFwiXSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pbnRlcm5hbC1zaWRlYmFyLW1lbnUgLm11bHRpbGV2ZWwtbGlua3VsLTEgc3BhbltjbGFzcyo9XCJjdXJyZW50XCJdOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRlbmVyZ3ktZ3JlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLmludGVybmFsLXNpZGViYXItbWVudSBzcGFuLmN1cnJlbnRicmFuY2gwIGEsXG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IHNwYW4uY3VycmVudGJyYW5jaDEgYSB7XG5cdGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uaW50ZXJuYWwtc2lkZWJhci1tZW51IHVsLm11bHRpbGV2ZWwtbGlua3VsLTAgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuLmludGVybmFsLXNpZGViYXItbWVudSB1bFtjbGFzcyo9XCJtdWx0aWxldmVsXCJdIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG4uaW50ZXJuYWwtcGFnZXMtbW9iaWxlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGNkY1RjQ7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdG1hcmdpbjogMCAwIDM1cHggMDtcbn1cbi5pbnRlcm5hbC1zdWItc2VjdGlvbi0tYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiA4NXB4IDAgMCAwO1xufVxuLmludGVybmFsLXN1Yi1zZWN0aW9uLS1idXR0b24gYSAvKiAubmV4dC1zZWN0aW9uLWhpZ2hsaWdodC1ibG9jayByayAqLyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGNkY1RjQ7XG4gICAgcGFkZGluZzogMjVweCA0MHB4O1xuICAgIC8vICAgICBjb2xvcjogIzNhM2MzOTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogMjVweDsgcmtcbiAgICBtYXJnaW46IDI1cHg7XG59XG5cblxuLyogcmsgKi9cbi5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24taXRlbSB7XG4gICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cbi5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tbGlzdCBsaSB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5hY2NvcmRpb24tY29sdW1uLXNlY3Rpb24tbGlzdCA+IGxpID4gYXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LWZhbWlseTogXCJGU01hamFcIiwgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzNCNjkzRDtcbn1cblxuXG5cblxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuXHQuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiBvbCB7XG5cdFx0Y29sdW1uLWNvdW50OiAxO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzlweCkge1xuXHQuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiB7XG5cdFx0cGFkZGluZzogMzVweCAzMHB4IDI1cHg7XG5cdH1cblx0LmludGVybmFsLXN1Yi1zZWN0aW9uLW5hdmlnYXRpb24gbGkge1xuXHRcdG1hcmdpbjogMCAwIDEwcHggMzBweDtcblx0fVxuXHQvLyAuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiBsaSBhLFxuXHQvLyAuaW50ZXJuYWwtc3ViLXNlY3Rpb24tbmF2aWdhdGlvbiBsaTpiZWZvcmUge1xuXHQvLyBcdGZvbnQtc2l6ZTogMTZweDtcblx0Ly8gfVxuXHQuaW50ZXJuYWwtc2lkZWJhci1tZW51IGxpLmN1cnJlbnRicmFuY2gwOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZTkzYyc7XG5cdFx0Zm9udC1mYW1pbHk6ICd1b3MnO1xuXHR9XG59XG4iLCIuYy1oZWFkZXItYnVyZ2VyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDhweCAxNnB4IDVweDtcbn1cbi5jLWhlYWRlci1idXJnZXJfX2J1bixcbi5jLWhlYWRlci1idXJnZXJfX2J1bjpiZWZvcmUsXG4uYy1oZWFkZXItYnVyZ2VyX19idW46YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTNlM2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG59XG4uYy1oZWFkZXItYnVyZ2VyX19idW4ge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5jLWhlYWRlci1idXJnZXJfX2J1bjpiZWZvcmUsXG4uYy1oZWFkZXItYnVyZ2VyX19idW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5jLWhlYWRlci1idXJnZXJfX2J1bjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dCAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCAwLjNzLCB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbn1cbi8qLmMtaGVhZGVyLWJ1cmdlci5uYXYtaXMtb3BlbiAuYy1oZWFkZXItYnVyZ2VyX19idW4ge1xuICAgIHdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5jLWhlYWRlci1idXJnZXIubmF2LWlzLW9wZW4gLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3M7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDAuM3MsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbn1cbi5jLWhlYWRlci1idXJnZXIubmF2LWlzLW9wZW4gLmMtaGVhZGVyLWJ1cmdlcl9fYnVuOmFmdGVyIHtcbiAgICBib3R0b206IDEwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuM3MgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcztcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4zcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQgMC4zcywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCAwLjNzO1xufSovIiwiLyoqKlxuQWNjb21tb2RhdGlvbiBQYWdlc1xuKioqL1xuXG4vKlxuQWNjb21tb2RhdGlvbiBTZWFyY2hcbioqKi9cblxuLmMtYWNjb21tb2RhdGlvbi1zZWFyY2gge1xuXHRwYWRkaW5nOiA1MHB4IDA7XG59XG5cbi5jLWFjY29tbW9kYXRpb24tc2VhcmNoX19sb2FkaW5nLFxuLmMtYWNjb21tb2RhdGlvbi1zZWFyY2hfX3Jlc3VsdHMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uYy1hY2NvbW1vZGF0aW9uLXNlYXJjaF9faWNvbi1saXN0IHtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5jLWFjY29tbW9kYXRpb24tc2VhcmNoX19pY29uLWxpc3QgLmljb24tbGlzdF9fbGlzdC1pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLypcbkFjY29tbW9kYXRpb24gS2V5IEluZm9cbioqKi9cbi5jLWFjY29tbS1rZXktaW5mbyA+IGRpdntcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmMtYWNjb21tLWtleS1pbmZvIHAge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWFjY29tbS1rZXktaW5mbyA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMDtcbn1cbi5jLWFjY29tbS1rZXktaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIG1hcmdpbjogMCAzMHB4IDAgMDtcbn1cbi5jLWFjY29tbS1hZGRpdGlvbmFsLWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG4uYy1hY2NvbW0ta2V5LWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdLFxuLmMtYWNjb21tLWFkZGl0aW9uYWwtaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgZm9udC1zaXplOiA3MnB4O1xufVxuLypcbkFjY29tbW9kYXRpb24gQWRkaXRvbmFsIEluZm9cbioqKi9cbi5jLWFjY29tbS1hZGRpdGlvbmFsLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcbiAgICAuYy1hY2NvbW0ta2V5LWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdLFxuICAgIC5jLWFjY29tbS1hZGRpdGlvbmFsLWluZm8gc3BhbltjbGFzc149XCJ1b3MtXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLWFjY29tbS1rZXktaW5mbyA+IGRpdntcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5jLWFjY29tbS1rZXktaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICAgIC5jLWFjY29tbS1rZXktaW5mbyBzcGFuW2NsYXNzXj1cInVvcy1cIl0ge1xuICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgfVxuICAgIC5jLWFjY29tbS1hZGRpdGlvbmFsLWluZm8gLmNlbGwge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgfVxufVxuXG4vKlxuQWNjb21tb2RhdGlvbiBtYXBzXG4qKiovXG4uYy1hY2NvbW1vZGF0aW9uLW1hcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyOCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG4gICAgLmMtYWNjb21tb2RhdGlvbi1tYXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgIC5jLWFjY29tbW9kYXRpb24tbWFwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICB9XG59XG4iLCIuYy1zZWFyY2gtZmlsdGVycy1tZW51IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBzaGFkZSgkYmctZ3JleSwgOTUlKTtcblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVyaXRhZ2UtZ3JlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jLXNlYXJjaC1maWx0ZXJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGJnLWdyZXksIDk1JSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICAvLyBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIGxhYmVsLmlzLWFjdGl2ZSB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IHNoYWRlKCRiZy1ncmV5LCA4MCUpO1xuICAgIH1cblxuICAgIC8vIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgLy8gfVxufVxuXG4uYy1zZWFyY2gtZmlsdGVycy1wYW5lbF9fZmlsdGVyIHtcbiAgICBsYWJlbFtkYXRhLWRpc2FibGVkXSB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuXG4uYy1zZWFyY2gtb3JkZXJlZC1maWx0ZXJzIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgkYmctZ3JleSwgOTUlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4uYy1zZWFyY2gtcmVzdWx0X19saW5rIHtcbiAgICBAZXh0ZW5kIC5jLXNlY3Rpb24taGVhZGluZztcblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLmMtc2VhcmNoLXJlc3VsdF9fc3VtbWFyeSB7XG5cbn1cbi5jLXNlYXJjaC1yZXN1bHRfX2NvdXJzZS1zdGF0cyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmMtc2VhcmNoLXJlc3VsdHNfX2xvYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtc2l0ZS1zZWFyY2hfX2RlZXAtc2VhcmNoLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbiIsIi8vIEdlbmVyYXRlIER1cmF0aW9uICYmIERlbGF5XG5bZGF0YS1hb3NdIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2MCB7XG4gICAgYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddICYsXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JyN7JGkgKiA1MH0nXSB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAjeyRpICogNTB9bXM7XG4gICAgfVxuXG4gICAgYm9keVtkYXRhLWFvcy1kZWxheT0nI3skaSAqIDUwfSddICYsXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JyN7JGkgKiA1MH0nXSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuXG4gICAgICAmLmFvcy1hbmltYXRlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogI3skaSAqIDUwfW1zO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJGFvcy1lYXNpbmc6IChcbiAgbGluZWFyOiBjdWJpYy1iZXppZXIoLjI1MCwgLjI1MCwgLjc1MCwgLjc1MCksXG5cbiAgZWFzZTogY3ViaWMtYmV6aWVyKC4yNTAsIC4xMDAsIC4yNTAsIDEpLFxuICBlYXNlLWluOiBjdWJpYy1iZXppZXIoLjQyMCwgMCwgMSwgMSksXG4gIGVhc2Utb3V0OiBjdWJpYy1iZXppZXIoLjAwMCwgMCwgLjU4MCwgMSksXG4gIGVhc2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoLjQyMCwgMCwgLjU4MCwgMSksXG5cbiAgZWFzZS1pbi1iYWNrOiBjdWJpYy1iZXppZXIoLjYsIC0uMjgsIC43MzUsIC4wNDUpLFxuICBlYXNlLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyLCAxLjI3NSksXG4gIGVhc2UtaW4tb3V0LWJhY2s6IGN1YmljLWJlemllciguNjgsIC0uNTUsIC4yNjUsIDEuNTUpLFxuXG4gIGVhc2UtaW4tc2luZTogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0NSwgLjcxNSksXG4gIGVhc2Utb3V0LXNpbmU6IGN1YmljLWJlemllciguMzksIC41NzUsIC41NjUsIDEpLFxuICBlYXNlLWluLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoLjQ0NSwgLjA1LCAuNTUsIC45NSksXG5cbiAgZWFzZS1pbi1xdWFkOiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41MyksXG4gIGVhc2Utb3V0LXF1YWQ6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KSxcblxuICBlYXNlLWluLWN1YmljOiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41MyksXG4gIGVhc2Utb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXG4gIGVhc2UtaW4tcXVhcnQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSlcbik7XG5cbi8vIEVhc2luZ3MgaW1wbGVtZW50YXRpb25zXG4vLyBEZWZhdWx0IHRpbWluZyBmdW5jdGlvbjogJ2Vhc2UnXG5cbltkYXRhLWFvc10ge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRhb3MtZWFzaW5nIHtcbiAgICBib2R5W2RhdGEtYW9zLWVhc2luZz1cIiN7JGtleX1cIl0gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCIjeyRrZXl9XCJdIHtcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQW5pbWF0aW9ucyB2YXJpYWJsZXNcbiRhb3MtZGlzdGFuY2U6IDEwMHB4ICFkZWZhdWx0O1xuXG5cblxuXG4vKipcbiAqIEZhZGUgYW5pbWF0aW9uczpcbiAqIGZhZGVcbiAqIGZhZGUtdXAsIGZhZGUtZG93biwgZmFkZS1sZWZ0LCBmYWRlLXJpZ2h0XG4gKiBmYWRlLXVwLXJpZ2h0LCBmYWRlLXVwLWxlZnQsIGZhZGUtZG93bi1yaWdodCwgZmFkZS1kb3duLWxlZnRcbiAqL1xuXG5bZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsICRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAkYW9zLWRpc3RhbmNlKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLXVwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UpO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UpO1xufVxuXG5cblxuXG4vKipcbiAqIFpvb20gYW5pbWF0aW9uczpcbiAqIHpvb20taW4sIHpvb20taW4tdXAsIHpvb20taW4tZG93biwgem9vbS1pbi1sZWZ0LCB6b29tLWluLXJpZ2h0XG4gKiB6b29tLW91dCwgem9vbS1vdXQtdXAsIHpvb20tb3V0LWRvd24sIHpvb20tb3V0LWxlZnQsIHpvb20tb3V0LXJpZ2h0XG4gKi9cblxuW2RhdGEtYW9zXj0nem9vbSddW2RhdGEtYW9zXj0nem9vbSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAkYW9zLWRpc3RhbmNlKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtJGFvcy1kaXN0YW5jZSkgc2NhbGUoLjYpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20taW4tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkYW9zLWRpc3RhbmNlLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgJGFvcy1kaXN0YW5jZSkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtJGFvcy1kaXN0YW5jZSkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoMS4yKTtcbn1cblxuXG5cblxuLyoqXG4gKiBTbGlkZSBhbmltYXRpb25zXG4gKi9cblxuW2RhdGEtYW9zXj0nc2xpZGUnXVtkYXRhLWFvc149J3NsaWRlJ10ge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cbiAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG5bZGF0YS1hb3M9J3NsaWRlLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG5cblxuXG4vKipcbiAqIEZsaXAgYW5pbWF0aW9uczpcbiAqIGZsaXAtbGVmdCwgZmxpcC1yaWdodCwgZmxpcC11cCwgZmxpcC1kb3duXG4gKi9cblxuW2RhdGEtYW9zXj0nZmxpcCddW2RhdGEtYW9zXj0nZmxpcCddIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG5cbltkYXRhLWFvcz0nZmxpcC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgtMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLXVwJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgtMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7fVxufVxuXG5bZGF0YS1hb3M9J2ZsaXAtZG93biddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMTAwZGVnKTtcbiAgJi5hb3MtYW5pbWF0ZSB7dHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7fVxufVxuIiwiLmMtaW50LXN0YXQgaDEge1xuXHRmb250LXNpemU6IDExMHB4O1xuXHRsaW5lLWhlaWdodDogMS4xO1xuXHRtYXJnaW46IDA7XG59XG4uYy1pbnQtc3RhdCBwIHtcblx0Zm9udC1zaXplOiAzMnB4O1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDA7XG59XG4uYy1pbnQtc3RhdCBzbWFsbCB7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcblx0LmMtaW50LXN0YXQgaDEge1xuXHRcdGZvbnQtc2l6ZTogMTAwcHg7XG5cdH1cblx0LmMtaW50LXN0YXQgcCB7XG5cdFx0Zm9udC1zaXplOiAyNnB4O1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgZG93bil9IHtcblx0LmMtaW50LXN0YXQgaDEsXG5cdC5jLXRlYWNoaW5nLXN0YXQgaDEge1xuXHRcdGZvbnQtc2l6ZTogNzJweDtcblx0fVxuXHQuYy1pbnQtc3RhdCBwIHtcblx0XHRmb250LXNpemU6IDIycHg7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1pbnQtc3RhdCBoMSxcblx0LmMtdGVhY2hpbmctc3RhdCBoMSB7XG5cdFx0Zm9udC1zaXplOiA2MHB4O1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuYy1pbnQtc3RhdCBwIHtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0bWFyZ2luOiAwIDAgMzBweDtcblx0fVxuXHQuYy1pbnQtc3RhdCBwOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuYy1pbnQtc3RhdCBzbWFsbCB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG5cbi8qKipcbktleWZyYW1lc1xuKioqL1xuQGtleWZyYW1lcyB0YWRhIHsgXG4gICAgMCUge1xuICAgIFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9IFxuICAgIDEwJSwgMjAlIHtcbiAgICBcdHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICAgIH0gXG4gICAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICBcdHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gICAgfSBcbiAgICA0MCUsIDYwJSwgODAlIHtcbiAgICBcdHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO1xuICAgIH0gXG4gICAgMTAwJSB7XG4gICAgXHR0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgICB9IFxufVxuQGtleWZyYW1lcyByb3RhdGUge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuXHR9XG5cdDEwMCUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuXHR9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LDBweCk7XG4gIH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LC0yNXB4KTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZSgwcHgsMHB4KTtcbiAgfVxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZSgwcHgsLTE1cHgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlKDBweCwwcHgpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlKDBweCwtNXB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmlnQm91bmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZSgwcHgsMHB4KTtcbiAgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogIHRyYW5zbGF0ZSgwcHgsLTUwcHgpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlKDBweCwwcHgpO1xuICB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiAgdHJhbnNsYXRlKDBweCwtNDBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LDBweCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LC0xNXB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06ICB0cmFuc2xhdGUoMHB4LDBweCk7XG4gIH1cbn1cbi8qKipcblRvcCAxNTAgU3RhdGlzdGljXG4qKiovXG4uYy10b3AtMTUwLXN0YXQge1xuXHRwYWRkaW5nOiAxMzdweCAwO1xufVxuLmMtdG9wLTE1MF9fd3JhcHBlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmMtdG9wLTE1MC1zdGF0IHNwYW5bY2xhc3MqPVwiLXN0dWR5LWFicm9hZFwiXSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1zaXplOiAyNjBweDtcbn1cbi5jLXRvcC0xNTAtc3RhdC5hbmltYXRlIHNwYW5bY2xhc3MqPVwiLXN0dWR5LWFicm9hZFwiXSB7XG5cdGFuaW1hdGlvbjogcm90YXRlIDFzIGxpbmVhcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcblx0LmMtdG9wLTE1MC1zdGF0IHtcblx0XHRwYWRkaW5nOiAxMDBweCAwO1xuXHR9XG5cdC5jLXRvcC0xNTAtc3RhdCBzcGFuW2NsYXNzKj1cIi1zdHVkeS1hYnJvYWRcIl0ge1xuXHRcdGZvbnQtc2l6ZTogMjMwcHhcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXRvcC0xNTAtc3RhdCB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXHR9XG5cdC5jLXRvcC0xNTBfX3dyYXBwZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdH1cblx0LmMtdG9wLTE1MC1zdGF0IHNwYW5bY2xhc3MqPVwiLXN0dWR5LWFicm9hZFwiXSB7XG5cdFx0Zm9udC1zaXplOiAxMDBweFxuXHR9XG59XG4vKioqXG5BbHVtbmkgU3RhdGlzdGljXG4qKiovXG4uYy1hbHVtbmktc3RhdCB7XG5cdHBhZGRpbmc6IDE1MHB4IDA7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dlYmNvbXBvbmVudHMvZGlzdC9pbWFnZXMvaW50ZXJuYXRpb25hbC1ob21lcGFnZS9tYXAuc3ZnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1hbHVtbmktc3RhdCBzcGFuW2NsYXNzKj1cIi1sb2NhdGlvblwiXSB7XG5cdGZvbnQtc2l6ZTogNjBweDtcbn1cbi5jLWFsdW1uaS1zdGF0IC5waW4ge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTYwcHg7XG59XG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW4ge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhcjtcbiAgICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMC42czsgXG59XG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDFuKSB7XG4gICAgdG9wOiAyMCU7XG4gICAgbGVmdDogMjklO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjFzO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAwLjdzOyBcbn1cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoMikge1xuICAgIHRvcDogMzElO1xuICAgIGxlZnQ6IDMxJTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC4ycztcbiAgICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMC44czsgXG59XG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDMpIHtcbiAgICB0b3A6IDQ5JTtcbiAgICBsZWZ0OiAyNyU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDAuM3M7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDAuOXM7IFxufVxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCg0KSB7XG4gICAgdG9wOiA5MCU7XG4gICAgbGVmdDogMzglO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjRzO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxczsgXG59XG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDUpIHtcbiAgICB0b3A6IDIwJTtcbiAgICBsZWZ0OiA2NiU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDAuNXM7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDEuMXM7IFxufVxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCg2KSB7XG4gICAgdG9wOiAyNyU7XG4gICAgbGVmdDogNjUlO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjZzO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxLjJzOyBcbn1cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoNykge1xuICAgIHRvcDogNjYlO1xuICAgIGxlZnQ6IDY0JTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC42cyBsaW5lYXIgMC43cztcbiAgICBhbmltYXRpb246IGJvdW5jZSAxcyBsaW5lYXIgMS4zczsgXG59XG4uYy1hbHVtbmktc3RhdC5hbmltYXRlIC5waW46bnRoLWNoaWxkKDgpIHtcbiAgICB0b3A6IDg4JTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDAuOHM7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDEuNHM7IFxufVxuLmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAucGluOm50aC1jaGlsZCg5KSB7XG4gICAgdG9wOiAzMCU7XG4gICAgbGVmdDogNzIlO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGxpbmVhciAwLjlzO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxLjVzOyBcbn1cbi5jLWFsdW1uaS1zdGF0LmFuaW1hdGUgLnBpbjpudGgtY2hpbGQoMTApIHtcbiAgICB0b3A6IDI2JTtcbiAgICBsZWZ0OiA3NyU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnMgbGluZWFyIDFzO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDFzIGxpbmVhciAxLjZzOyBcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcblx0LmMtYWx1bW5pLXN0YXQuYW5pbWF0ZSAuY2VudGVyLXBpbiB7XG5cdFx0YW5pbWF0aW9uOiBib3VuY2UgMXMgbGluZWFyIDE7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1hbHVtbmktc3RhdCB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dlYmNvbXBvbmVudHMvZGlzdC9pbWFnZXMvaW50ZXJuYXRpb25hbC1ob21lcGFnZS9tYXAtbW9iaWxlLnN2ZycpO1xuXHR9XG5cdC5jLWFsdW1uaS1zdGF0IHNwYW5bY2xhc3MqPVwiLWxvY2F0aW9uXCJdIHtcblx0XHRmb250LXNpemU6IDEwMHB4O1xuXHR9XG59XG4vKioqXG5QYXJ0bmVycyBTdGF0aXN0aWNcbioqKi9cbi5jLXBhcnRuZXJzX19jb3B5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRwYWRkaW5nOiAwIDAgNTBweDtcblx0d2lkdGg6IDEwMCU7XG59XG4uYy1wYXJ0bmVycy1zdGF0IHtcblx0cGFkZGluZzogMTQ1cHggMCA5NXB4O1xuXHRtYXJnaW46IDE1OXB4IDAgMDtcbn1cbi5jLXBhcnRlcnMtcGVvcGxlIHtcblx0XG59XG4uYy1wYXJ0bmVyc19fZ3JvdXAxLFxuLmMtcGFydG5lcnNfX2dyb3VwMixcbi5jLXBhcnRuZXJzX19ncm91cDMsXG4uYy1wYXJ0bmVyc19fZ3JvdXA0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRtYXJnaW46IDAgYXV0bztcblx0dHJhbnNpdGlvbjogdG9wIDAuM3MgY3ViaWMtYmV6aWVyKC4wNSwgLjY5LCAuMTQsIDEpO1xufVxuLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDEge1xuXHR0b3A6IC0xMjdweDtcblx0ei1pbmRleDogMTtcbn1cbi5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXAyLFxuLmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDMge1xuXHR0b3A6IC0xMTBweDtcblx0dHJhbnNpdGlvbi1kZWxheTogMC4zcztcbn1cbi5jLXBhcnRuZXJzX19ncm91cDIge1xuXHRsZWZ0OiAtMzAwcHg7XG59XG4uYy1wYXJ0bmVyc19fZ3JvdXAzIHtcblx0cmlnaHQ6IC0zMDBweDtcbn1cbi5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXA0IHtcblx0dG9wOiAtMTUwcHg7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgZG93bil9IHtcblx0LmMtcGFydG5lcnMtc3RhdCB7XG5cdCAgICBwYWRkaW5nOiAxNTBweCAwIDUwcHg7XG5cdCAgICBtYXJnaW46IDEwMHB4IDAgMDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXBhcnRuZXJzLXN0YXQge1xuXHQgICAgcGFkZGluZzogMTIwcHggMCAxMHB4O1xuXHQgICAgbWFyZ2luOiA2MHB4IDAgMDtcblx0fVxuXHQuYy1wYXJ0bmVyc19fZ3JvdXAxIHtcblx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHR9XG5cdC5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXAxIHtcblx0XHR0b3A6IC05N3B4O1xuXHR9XG5cdC5jLXBhcnRuZXJzX19ncm91cDIsXG5cdC5jLXBhcnRuZXJzX19ncm91cDMge1xuXHRcdG1heC13aWR0aDogOTJweDtcblx0fVxuXHQuYy1wYXJ0bmVycy1zdGF0LmFuaW1hdGUgLmMtcGFydG5lcnNfX2dyb3VwMixcblx0LmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDMge1xuXHRcdHRvcDogLTgzcHg7XG5cdH1cblx0LmMtcGFydG5lcnMtc3RhdC5hbmltYXRlIC5jLXBhcnRuZXJzX19ncm91cDIge1xuXHRcdGxlZnQ6IC0yMTlweDtcblx0fVxuXHQuYy1wYXJ0bmVycy1zdGF0LmFuaW1hdGUgLmMtcGFydG5lcnNfX2dyb3VwMyB7XG5cdFx0cmlnaHQ6IC0yMTlweDtcblx0fVxuXHQuYy1wYXJ0bmVyc19fZ3JvdXA0IHtcblx0XHRtYXgtd2lkdGg6IDEwMHB4O1xuXHR9XG5cdC5jLXBhcnRuZXJzLXN0YXQuYW5pbWF0ZSAuYy1wYXJ0bmVyc19fZ3JvdXA0IHtcblx0XHR0b3A6IC0xMjBweDtcblx0fVxufVxuLyoqKlxuUmVzZWFyY2ggU3RhdGlzdGljXG4qKiovXG4uYy1yZXNlYXJjaC1zdGF0IHtcblx0cGFkZGluZzogMTMycHggMDtcbn1cbi5jLWZyYWN0aW9uLWhlYWRlcixcbi5jLWZyYWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRsaW5lLWhlaWdodDogLjg7XG59XG4uYy1mcmFjdGlvbi1oZWFkZXIge1xuXHRmb250LXNpemU6IDY4cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYy1mcmFjdGlvbiB7XG5cdGZvbnQtc2l6ZTogMTkwcHg7XG59XG4uYy1yZXNlYXJjaF9fbWljcm9zY29wZSB7XG5cdG1hcmdpbjogMCAwIDAgNzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcblx0LmMtcmVzZWFyY2gtc3RhdCB7XG5cdFx0cGFkZGluZzogMTAwcHggMDtcblx0fVxuXHQuYy1yZXNlYXJjaF9fbWljcm9zY29wZSB7XG5cdFx0bWF4LXdpZHRoOiAyNTBweDtcblx0fVxuXHQuYy1mcmFjdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAxNTBweDtcblx0fVxuXHQuYy1mcmFjdGlvbi1oZWFkZXIge1xuXHRcdGZvbnQtc2l6ZTogNTZweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG5cdC5jLXJlc2VhcmNoX19taWNyb3Njb3BlIHtcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdG1hcmdpbjogMCAwIDAgMzBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuXHQuYy1yZXNlYXJjaC1zdGF0IHAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXJlc2VhcmNoLXN0YXQge1xuXHRcdHBhZGRpbmc6IDQwcHggMDtcblx0fVxuXHQuYy1yZXNlYXJjaC1zdGF0IC5jZWxsIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cdC5jLXJlc2VhcmNoLXN0YXQgLmNlbGwgLmZsZXgtY29udGFpbmVyIHtcblx0XHRvcmRlcjogMjtcblx0fVxuXHQuYy1mcmFjdGlvbi1oZWFkZXIsXG5cdC5jLWZyYWN0aW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiA0MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdH1cblx0LmMtcmVzZWFyY2hfX21pY3Jvc2NvcGUge1xuXHRcdG9yZGVyOiAxO1xuXHR9XG5cdC5jLXJlc2VhcmNoLXN0YXQgaW1nIHtcblx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDhweDtcblx0fVxuXHQuYy1yZXNlYXJjaC1zdGF0IHAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQuYy1yZXNlYXJjaC1zdGF0IHA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG4vKioqXG5PdmVyc2VhcyBTdGF0aXN0aWNcbioqKi9cbi5jLW92ZXJzZWFzLXN0YXQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93ZWJjb21wb25lbnRzL2Rpc3QvaW1hZ2VzL2ludGVybmF0aW9uYWwtaG9tZXBhZ2UvcGxhbmVzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgcGFkZGluZzogMTI0cHggMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmMtb3ZlcnNlYXMtc3RhdCAuY2VsbCB7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cbi5jLW92ZXJzZWFzLXN0YXRfX3dyYXBwZXIge1xuXHRtYXJnaW46IDAgMCAxNTBweCAwO1xufVxuLmMtb3ZlcnNlYXMtc3RhdCBoMSB7XG5cdGZvbnQtc2l6ZTogMTkwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG5cdC5jLW92ZXJzZWFzLXN0YXQge1xuXHRcdHBhZGRpbmc6IDEwMHB4IDA7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSB0b3A7XG5cdH1cblx0LmMtb3ZlcnNlYXMtc3RhdCBoMSB7XG5cdFx0Zm9udC1zaXplOiAxNTBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLW92ZXJzZWFzLXN0YXQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dlYmNvbXBvbmVudHMvZGlzdC9pbWFnZXMvaW50ZXJuYXRpb25hbC1ob21lcGFnZS9wbGFuZXMtbW9iaWxlLnN2ZycpO1xuICAgIFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDI1JTtcbiAgICBcdHBhZGRpbmc6IDQwcHg7XG5cdH1cblx0LmMtb3ZlcnNlYXMtc3RhdF9fd3JhcHBlciB7XG5cdFx0bWFyZ2luOiAxNTBweCAwIDA7XG5cdH1cblx0LmMtb3ZlcnNlYXMtc3RhdCAuY2VsbCB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXHQuYy1vdmVyc2Vhcy1zdGF0IGgxIHtcblx0XHRmb250LXNpemU6IDgwcHg7XG5cdH1cbn1cbi8qKipcblRlYWNoaW5nIFN0YXRpc3RpY1xuKioqL1xuLmMtdGVhY2hpbmctc3RhdCB7XG5cdHBhZGRpbmc6IDE2NHB4IDA7XG59XG4uYy10ZWFjaGluZy1zdGF0IGgxIHtcblx0Zm9udC1zaXplOiA4NXB4O1xufVxuLmMtdGVhY2hpbmctc3RhdCBpbWcge1xuXHRtYXJnaW46IDAgMCA0MHB4IDA7XG59XG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCgxbikge1xuXHRhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXI7XG59XG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCgybikge1xuXHRhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC4xcztcbn1cbi5jLXRlYWNoaW5nLXN0YXQuYW5pbWF0ZSBpbWc6bnRoLWNoaWxkKDNuKSB7XG5cdGFuaW1hdGlvbjogYmlnQm91bmNlIDFzIGxpbmVhciAwLjJzO1xufVxuLmMtdGVhY2hpbmctc3RhdC5hbmltYXRlIGltZzpudGgtY2hpbGQoNG4pIHtcblx0YW5pbWF0aW9uOiBiaWdCb3VuY2UgMXMgbGluZWFyIDAuM3M7XG59XG4uYy10ZWFjaGluZy1zdGF0LmFuaW1hdGUgaW1nOm50aC1jaGlsZCg1bikge1xuXHRhbmltYXRpb246IGJpZ0JvdW5jZSAxcyBsaW5lYXIgMC40cztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UgZG93bil9IHtcblx0LmMtdGVhY2hpbmctc3RhdCB7XG5cdFx0cGFkZGluZzogMTAwcHggMDtcblx0fSBcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBkb3duKX0ge1xuXHQuYy10ZWFjaGluZy1zdGF0IGgxIHtcblx0XHRmb250LXNpemU6IDU1cHg7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy10ZWFjaGluZy1zdGF0IHtcblx0XHRwYWRkaW5nOiA2MHB4O1xuXHR9XG5cdC5jLXRlYWNoaW5nLXN0YXQgaDEge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRtYXJnaW46IDAgMCAzMHB4IDA7XG5cdH1cblx0LmMtdGVhY2hpbmctc3RhdC5jLWludC1zdGF0IHAge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuYy10ZWFjaGluZy1zdGF0IGltZyB7XG5cdFx0bWF4LXdpZHRoOiA0MHB4O1xuXHR9XG59XG4gLyoqKlxuIExlY3R1cmVycyBTdGF0aXN0aWNcbiAqKiovXG4uYy1sZWN0dXJlcnMtc3RhdCB7XG5cdHBhZGRpbmc6IDc5cHggMCAwO1xufVxuLmMtbGVjdHVyZXJzLXN0YXQgaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDE1cHg7XG59XG4uYy1sZWN0dXJlcnMtc3RhdCBoMSB7XG5cdGZvbnQtc2l6ZTogMTkwcHg7XG59XG4uYy1sZWN0dXJlcnMtc3RhdF9fd3JhcCxcbi5jLWxlY3R1cmVycy1zdGF0IC5jLWludC1zdGF0X19zaGFyZSB7XG5cdHBhZGRpbmc6IDAgMCA4MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuXHQuYy1sZWN0dXJlcnMtc3RhdCBoMSB7XG5cdFx0Zm9udC1zaXplOiAxNTBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG5cdC5jLWxlY3R1cmVycy1zdGF0IGgxIHtcblx0XHRmb250LXNpemU6IDEwMHB4O1xuXHR9XG5cdC5jLWxlY3R1cmVycy1zdGF0IGltZyB7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuXHQuYy1sZWN0dXJlcnMtc3RhdCBpbWcge1xuXHRcdG1heC13aWR0aDogMjUwcHg7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1sZWN0dXJlcnMtc3RhdCB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXHR9XG5cdC5jLWxlY3R1cmVycy1zdGF0IGltZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGVmdDogMDtcblx0fVxuXHQuYy1sZWN0dXJlcnMtc3RhdCBoMSB7XG5cdFx0Zm9udC1zaXplOiA4MHB4O1xuXHR9XG5cdC5jLWxlY3R1cmVycy1zdGF0X193cmFwLFxuXHQuYy1sZWN0dXJlcnMtc3RhdCAuYy1pbnQtc3RhdF9fc2hhcmUge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cbi8qKipcbkNhbXB1cyBTdGF0XG4qKiovXG4uYy1jYW1wdXMge1xuXHRwYWRkaW5nOiAxMDlweCAwIDA7XG59XG4uYy1jYW1wdXNfX3N0YXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1jYW1wdXNfX3N0YXQtd3JhcCB7XG5cdG1hcmdpbi1ib3R0b206IDg1cHg7XG59XG4uYy1jYW1wdXNfX3BvZGl1bSB7XG4gICAgbWF4LXdpZHRoOiA0ODlweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTJweCAwIDA7XG59XG4uYy1jYW1wdXMuYW5pbWF0ZSAuYy1jYW1wdXNfX3Ryb3BoeSB7XG5cdGFuaW1hdGlvbjogdGFkYSAxcyBlYXNlLWluLW91dCAwLjFzO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuXHQuYy1jYW1wdXMge1xuXHRcdHBhZGRpbmc6IDEwMHB4IDAgMDtcblx0fVxuXHQuYy1jYW1wdXNfX3Ryb3BoeSB7XG5cdFx0bWF4LXdpZHRoOiAyMzBweDtcblx0fVxuXHQuYy1jYW1wdXNfX3BvZGl1bSB7XG5cdFx0bWF4LXdpZHRoOiA0MzBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuXHQuYy1jYW1wdXNfX3N0YXQtd3JhcCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTQ1cHg7XG5cdH1cblx0LmMtY2FtcHVzX190cm9waHktd3JhcCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXHQuYy1jYW1wdXNfX3Ryb3BoeSB7XG5cdFx0bWF4LXdpZHRoOiAxNTBweDtcblx0fVxuXHQuYy1jYW1wdXNfX3BvZGl1bSB7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLWNhbXB1cy1zdGF0IHtcblx0XHRwYWRkaW5nOiA2MHB4IDA7XG5cdH1cblx0LmMtY2FtcHVzX19zdGF0IHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cdC5jLWNhbXB1c19fc3RhdC13cmFwIHtcblx0XHRvcmRlcjogMjtcblx0XHRtYXJnaW46IDIwcHggMCAwO1xuXHR9XG5cdC5jLWNhbXB1c19fdHJvcGh5LXdyYXAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvcmRlcjogMTtcblx0fVxuXHQuYy1jYW1wdXNfX3BvZGl1bSB7XG5cdFx0bWF4LXdpZHRoOiAyNTBweDtcblx0fVxufVxuLyoqKlxuV2VsY29taW5nIFN0YXRpc3RpY1xuKioqL1xuLmMtd2VsY29taW5nLXN0YXQgaW1nIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IC0xcHg7XG59XG4uYy13ZWxjb21pbmctc3RhdF9fd3JhcCB7XG5cdHBhZGRpbmc6IDE3M3B4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIGRvd24pfSB7XG5cdC5jLXdlbGNvbWluZy1zdGF0X193cmFwIHtcblx0XHRwYWRkaW5nOiAxMDBweCAwO1xuXHR9XG5cdC5jLXdlbGNvbWluZy1zdGF0IGltZyB7XG5cdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXdlbGNvbWluZy1zdGF0IGltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG5cdC5jLXdlbGNvbWluZy1zdGF0X193cmFwIHtcblx0XHRwYWRkaW5nOiAwIDAgNjBweDtcblx0fVxufVxuLyoqKlxuTmF0aW9uYWxpdGllcyBTdGF0aXN0aWNcbioqKi9cbi5jLW5hdGlvbmFsaXRpZXMge1xuXHRwYWRkaW5nOiAxOTNweCAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBkb3duKX0ge1xuXHQuYy1uYXRpb25hbGl0aWVzIHtcblx0XHQgICAgcGFkZGluZzogMTAwcHggMDtcblx0fVx0XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgZG93bil9IHtcblx0LmMtbmF0aW9uYWxpdGllcyB7XG5cdFx0cGFkZGluZzogNjBweCAwO1xuXHR9XG5cdC5jLW5hdGlvbmFsaXRpZXMgaW1nIHtcblx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHR9XG59IiwiLyoqKlxuU3R1ZGVudCBPcHRpb25zIEJsb2NrXG4qKiovXG4uYy1zdHVkeS1vcHRpb25zLWJsb2NrIHtcblx0bWluLWhlaWdodDogNzQwcHg7XG59XG4uYy1zdHVkeS1vcHRpb25zLWJsb2NrX19pbWFnZSB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogNTAlO1xuXHRsZWZ0OiAwO1xuXHR0b3A6IDA7XG59XG4uYy1zdHVkeS1vcHRpb25zLWJsb2NrIC5jLXByb21vLWJveCB7XG5cdHBhZGRpbmc6IDIwcHggMzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gZG93bil9IHtcblx0LmMtc3R1ZHktb3B0aW9ucy1ibG9jayB7XG5cdFx0bWluLWhlaWdodDogaW5pdGlhbDtcblx0fVxuXHQuYy1zdHVkeS1vcHRpb25zLWJsb2NrX19pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDgwJTtcblx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1zdHVkeS1vcHRpb25zLWJsb2NrX19pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0fVxufVxuXG4vKioqXG5SZXF1ZXN0IGEgcHJvc3BlY3R1c1xuKioqL1xuLmMtcmVxdWVzdC1wcm9zcGVjdHVzIHtcblx0cGFkZGluZzogNzBweCAwO1xufVxuLmMtcmVxdWVzdC1wcm9zcGVjdHVzIGgxIHtcblx0Zm9udC1zaXplOiA3NHB4O1xuXHRtYXJnaW46IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1zdHVkZW50LXNhdGlzZmFjdGlvbl9faW1hZ2Uge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cbn1cbiIsIi5jLWltYWdlLWNhcHRpb24ge1xuXHRjb2xvcjogIzc0NkU2NDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbjogMTBweCAwO1xufVxuLmMtbmV3c19fc2luZ2xlLWFydGljbGUgcCB7XG5cdGZvbnQtc2l6ZTogMTZweDtcbn1cbi5jLW5ld3NfX3NpbmdsZS1hcnRpY2xlIGgyIHtcblx0Zm9udC1zaXplOiAyNnB4O1xuXHRtYXJnaW46IDQwcHggMCAxOHB4IDA7XG59XG4uYy1uZXdzX19zaW5nbGUtYXJ0aWNsZSAuYy10ZXN0aW1vbmlhbCxcbi5jLW5ld3NfX3NpbmdsZS1hcnRpY2xlIC5jLXJlc3BvbnNpdmUtZW1iZWQge1xuXHRtYXJnaW46IDQwcHggMDtcbn1cblxuLyoqKlxuUmVwb3J0IHJlY29tbWVuZGVkXG4qKiovXG4uYy1uZXdzX19yZXBvcnQtcmVjb21tZW5kZWQgaDMge1xuXHRmb250LXNpemU6IDI0cHg7XG5cdG1hcmdpbjogMCAwIDM1cHggMDtcbn1cbi5jLW5ld3NfX3JlcG9ydC1yZWNvbW1lbmRhdGlvbiBwIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdGxlZnQ6IDE2cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn0iLCIvLyBVbml2ZXJzaXR5IG9mIFN0aXJsaW5nXG4vLyBzdGlyLmFjLnVrXG5cbi8vLy9cbi8vLyBTcG9ydHMgcGFnZXNcbi8vLy9cblxuLy8vIEhlYWRlclxuLmMtc3BvcnRzLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6ICRoZXJpdGFnZS1ncmVlbjtcblxuXHRhIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuXG5cdFx0LnNwb3J0cy1oZWFkZXItbmF2X193cmFwcGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmMtaGVhZGVyLW5hdiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzcmVtO1xuXHRcdH1cblxuXHRcdC5jLWhlYWRlci1uYXZfX2l0ZW0ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdCAgICBcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHR9XG5cdH1cbn1cbi5jLXNwb3J0cy1oZWFkZXJfX2hlYWRpbmcge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLy8gTWFzdGhlYWRcbi5jLXNwb3J0cy1tYXN0aGVhZF9fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuYy1tYXN0aGVhZF9fY2FsbG91dC10ZXh0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblx0fVxufVxuLmMtc3BvcnRzLW1hc3RoZWFkX19idXR0b25zIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMTAwJTtcblx0Ym90dG9tOiA1MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfSB7XG5cdC5jLXNwb3J0cy1tYXN0aGVhZF9fd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LmMtbWFzdGhlYWRfX2NhbGxvdXQtdGV4dCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0fVxuXHR9XG5cdC5jLXNwb3J0cy1tYXN0aGVhZF9fYnV0dG9ucyB7XG5cdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHRwYWRkaW5nOiA1MHB4IG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpIDBweCBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKTtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSB1cCl9IHtcblx0LmMtc3BvcnRzLW1hc3RoZWFkX19idXR0b25zIGE6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSk7XG5cdH1cbn1cblxuLy8vIFByb21vIGFyZWFcbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0ge1xuXHQuYy1zcG9ydHMtcHJvbW8tYXJlYSB7XG5cdFx0LmMtcHJvbW8tYXJlYV9fY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiBtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKTtcblx0XHR9XG5cdH1cbn1cblxuLy8vIEludHJvXG4uYy1zcG9ydHMtaW50cm8ge1xuXHRwYWRkaW5nOiA3MHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9IHtcblx0LmMtc3BvcnRzLWludHJvIHtcblx0XHRwYWRkaW5nOiAzMHB4IDA7XG5cdH1cbn1cblxuLy8vIFN1YiBzZWN0aW9uc1xuLmMtc3BvcnRzLXN1Yi1zZWN0aW9ucyB7XG4gICAgcGFkZGluZzogODBweCAwO1xuXHRiYWNrZ3JvdW5kOiAkYmctZ3JleTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0ge1xuXHQuYy1zcG9ydHMtc3ViLXNlY3Rpb25zX19pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHR9XG59XG5cbi8vLyBDYXRlZ29yaWVzXG4uYy1zcG9ydHMtY2F0ZWdvcmllcyB7XG4gICAgcGFkZGluZzogODBweCAwO1xufVxuLmMtc3BvcnRzLWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkZW5lcmd5LWdyZWVuO1xuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcblx0cGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi8vL1xuLmMtc3BvcnRzLW5vdGVzIHtcblx0cGFkZGluZzogMjRweCA0MHB4O1xufVxuXG4uYy1zcG9ydHMtbm90ZXNfX3RpdGxlIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHdpZHRoOiAyMDBweDtcbn1cbi5jLXNwb3J0cy1ub3Rlc19fYm9keSB7XG5cdG1hcmdpbi1sZWZ0OiAyMDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0ge1xuXHQuYy1zcG9ydHMtbm90ZXNfX3RpdGxlIHtcblx0XHRmbG9hdDogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuYy1zcG9ydHMtbm90ZXNfX2JvZHkge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG59XG5cblxuLy8vIEluZHVjdGlvbiBmb3JtXG4uYy1zcG9ydHMtaW5kdWN0aW9uLWZvcm0ge1xuXHRpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuXHRpbnB1dFt0eXBlPSdyYWRpbyddIHtcblx0XHQvLyB3aWR0aDogYXV0bztcblx0fVxufVxuXG4vLy8gRG93bmxvYWQgdGltZXRhYmxlXG4uc3BvcnRzLWRvd25sb2FkLXRpbWV0YWJsZSB7XG5cbn1cblxuLnNwb3J0cy1kb3dubG9hZC10aW1ldGFibGVfX2ljb24ge1xuXHRmb250LXNpemU6IDgwcHg7XG59XG5cbi5zcG9ydHMtZG93bmxvYWQtdGltZXRhYmxlX19saW5rIHtcblx0Zm9udC1zaXplOiAzMnB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9IHtcblx0LnNwb3J0cy1kb3dubG9hZC10aW1ldGFibGUge1xuXG5cdH1cblxuXHQuc3BvcnRzLWRvd25sb2FkLXRpbWV0YWJsZV9faWNvbiB7XG5cdFx0Zm9udC1zaXplOiA2MHB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQvLyBtYXJnaW46IDAgYXV0bztcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR9XG5cblx0LnNwb3J0cy1kb3dubG9hZC10aW1ldGFibGVfX2xpbmsge1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcblx0fVxufVxuIiwiLmNlbGwubGFyZ2UtNC5tZWRpdW0tNC5zbWFsbC0xMi5zdGF0LWNlbGxfX2pvYnMge1xuXHRwYWRkaW5nOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIGRvd24pfSB7XG5cdC5jLXRocmVlLXF1YXJ0ZXItc3BsaXQgLmMtaGFsZi1uLWhhbGZfX2NvcHkge1xuXHRcdG1hcmdpbjogNDBweCAwIDAgMDtcblx0fVxufSIsIi5jLWNvdXJzZS1pbmZvIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtYXJnaW46IDUwcHggMDtcbn1cbi5jLWNvdXJzZS1pbmZvIHNwYW4ge1xuXHRtYXJnaW46IDAgMzBweCAwIDA7XG59XG4uYy1jb3Vyc2UtaW5mbyBzcGFuOmxhc3QtY2hpbGQge1xuXHRtYXJnaW46IDA7XG59XG4uYy1jb3Vyc2UtaW5mb19fdGl0bGUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luOiAwIDAgNXB4IDA7XG59IiwiLmMtZnVsbC13aWR0aC1tYXBfX3dyYXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1mdWxsLXdpZHRoLW1hcF9fbGVnZW5kIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDQwcHg7XG5cdHJpZ2h0OiA0MHB4O1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdHotaW5kZXg6IDEwMDAwMDAwMDsgLy8gaGFzIHRvIGJlIGhpZ2ggdG8gdHJ1bXAgZ29vZ2xlIG1hcHMgei1pbmRleCB2YWx1ZXNcblx0cGFkZGluZzogMzBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbn1cbi5jLWZ1bGwtd2lkdGgtbWFwX19sYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cblx0aW1nIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuXG4uYy1wYXJ0bmVycy10ZXN0aW1vbmlhbHMge1xuXHQuYy10ZXN0aW1vbmlhbF9fYmxvY2txdW90ZSB7XG5cdCAgICBmb250LXNpemU6IDIwcHg7XG5cdH1cbn1cblxuXG5cbi5jLWNvbnRhY3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuLmMtY29udGFjdF9faW1hZ2Uge1xuXHRtYXJnaW46IDAgMzBweCAwIDA7XG5cblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuLmMtY29udGFjdF9fZGV0YWlscyB7XG5cbn1cblxuLmMtZnVsbC13aWR0aC1tYXAge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA2MDBweFxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG5cdC5jLWNvbnRhY3RfX2ltYWdlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5jLWNvbnRhY3RfX2RldGFpbHMge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdC8vbWFyZ2luLWJvdHRvbTogNTBweDtcblx0fVxuXHQuYy1mdWxsLXdpZHRoLW1hcF9fbGVnZW5kIHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHR9XG5cdC5jLWZ1bGwtd2lkdGgtbWFwIHtcblx0XHRoZWlnaHQ6IDIwMHB4XG5cdH1cbn1cbiIsIi5jLWNhc2Utc3R1ZHktY29sbGFib3JhdGluZyB7XG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxufVxuXG4uYy1jYXNlLXN0dWR5LW92ZXJ2aWV3LFxuLmMtY2FzZS1zdHVkeS1pbXBhY3Qge1xuXHRwLCBsaSB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cdGg0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR9XG59XG4iLCIuYy1zdGFmZi1wcm9maWxlIHtcblx0cGFkZGluZzogNDBweCAxODVweDtcbn1cblxuLmMtdGFnLWxpc3Qge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cblx0bGkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDAgMTBweCAxMHB4IDA7XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmstbWluaztcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGZvbnQtc2l6ZTogMTZweCFpbXBvcnRhbnQ7XG5cblx0XHQmLmMtdGFnLWxpc3RfX2FsbC1saW5rIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRoZXJpdGFnZS1ncmVlbjtcblx0XHR9XG5cdH1cbn1cblxuLyoqKlxuU2VuaW9yIE9mZmljZXIgUHJvZmlsZSBTdHlsZXNcbioqKi9cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAgPiBkaXYge1xuXHRtYXgtd2lkdGg6IDcwJTtcbn1cbi5jLWZ1bGwtcHJvZmlsZV9fbmFtZSB7XG5cdGZvbnQtc2l6ZTogNzJweDtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbi5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAgLmMtZnVsbC1wcm9maWxlX190aXRsZSB7XG5cdG1hcmdpbjogMCAwIDVweCAwO1xufVxuLmMtZnVsbC1wcm9maWxlX19kZXRhaWwtd3JhcCAuYy1mdWxsLXByb2ZpbGVfX3RpdGxlOmxhc3QtY2hpbGQge1xuXHRtYXJnaW46IDA7XG59XG4uYy1mdWxsLXByb2ZpbGUtLXByb2ZpbGUgcDpmaXJzdC1vZi10eXBlIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5jLWZ1bGwtcHJvZmlsZV9fc3ViLWhlYWRpbmcge1xuXHRjb2xvcjogJGJsYWNrO1xuXHRtYXJnaW46IDQwcHggMCAxNnB4O1xufVxuLmMtZnVsbC1wcm9maWxlX19waWMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdG1heC13aWR0aDogMzMwcHghaW1wb3J0YW50O1xufVxuLmMtZnVsbC1wcm9maWxlX19lbGVtZW50cyBzZWN0aW9uOm50aC1vZi10eXBlKDJuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIGRvd24pfSB7XG5cdC5jLWZ1bGwtcHJvZmlsZV9fbmFtZSB7XG5cdFx0Zm9udC1zaXplOiA0MnB4O1xuXHR9XG5cdC5jLWZ1bGwtcHJvZmlsZV9fZGV0YWlsLXdyYXAgPiBkaXYge1xuXHRcdG1heC13aWR0aDogaW5pdGlhbDtcblx0fVxuXHQuYy1mdWxsLXByb2ZpbGVfX3BpYyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC13aWR0aDogMjUwcHg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIGRvd24pfSB7XG5cdC5jLWZ1bGwtcHJvZmlsZS0tcGljIHtcblx0XHRtYXgtd2lkdGg6IDIzMHB4O1xuXHR9XG5cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1mdWxsLXByb2ZpbGVfX2RldGFpbC13cmFwIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogdW5zZXQ7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXHQvLyAuYy1mdWxsLXByb2ZpbGVfX3BpYyB7XG5cdC8vIFx0bWFyZ2luOiA0MHB4IDAgMCAwO1xuXHQvLyB9XG5cdC5jLWZ1bGwtcHJvZmlsZV9fcHJvZmlsZSB7XG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdH1cbn0iLCIuYy1tYXBzLXRyYXZlbC1tb2RlLWxpc3RfX2l0ZW0ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLmMtbWFwLS1mdWxsLXdpZHRoIHtcblx0aGVpZ2h0OiA2MDBweDtcblx0d2lkdGg6IDEwMCU7XG59XG4iLCIvKioqXG5SZXNlYXJjaCBIdWIgTGFuZGluZyBGb3Jtc1xuKioqL1xuLmMtcmVzZWFyY2gtaHViLWZvcm0ge1xuXHRtYXJnaW46IDAgMCAzMHB4O1xufVxuLmMtcmVzZWFyY2gtaHViLWZvcm06bGFzdC1jaGlsZCB7XG5cdG1hcmdpbjogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBkb3duKX0ge1xuXHQuYy1yZXNlYXJjaC1odWItZm9ybSB7XG5cdFx0bWFyZ2luOiAwIDAgMTBweDtcblx0fVx0XG59XG5cbi8qKipcblJlc2FlcmNoIEh1YiBQcm9qZWN0IE92ZXJ2aWV3XG4qKiovXG5AbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UgdXApfSB7XG5cdC5jLXJlc2VhcmNoLWh1Yi10YWJzIGEge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuLmMtcmVzZWFyY2gtaHViLXRhYnMgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXJlc2VhcmNoLWh1Yi10YWJzLS10aXRsZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAzMHB4IDAgMXJlbTtcbn1cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIHAge1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4uYy1yZXNlYXJjaC1wcm9qZWN0LS1kYXRlIHtcblx0bWFyZ2luLXRvcDogMXJlbTtcbn1cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIHNwYW5bY2xhc3NePVwidW9zLVwiXSB7XG5cdGZvbnQtc2l6ZTogMjhweDtcbn1cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIC5jLXByb2plY3QtLXNlcGVyYXRvciB7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4vKlxuT3V0cHV0IFRhYlxuKiovXG4uYy1yZXNlYXJjaC1vdXRwdXRzLW92ZXJ2aWV3IHtcblx0bWFyZ2luOiAzMHB4IDA7XG59XG4uYy1yZXNlYXJjaC1vdXRwdXRzLW92ZXJ2aWV3Omxhc3Qtb2YtdHlwZSB7XG5cdG1hcmdpbjogMzBweCAwIDA7XG59XG4vKlxuVHJlbmRpbmcgVGFiXG4qKi9cbi5jLXJlc2VhcmNoLWh1Yi10YWJzIC5jLXRhZy1saXN0IHtcblx0bWFyZ2luLXRvcDogNDBweDtcbn0iLCIuYy1nZXR0aW5nLWFyb3VuZF9fdGFicyB7XG5cdC50YWJzIHtcblx0XHQudGFicy10aXRsZSA+IGEge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBkb3duKX0ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRhYnMtdGl0bGU6bGFzdC1jaGlsZCA+IGEge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLmMtZ2V0dGluZy1hcm91bmRfX3RyYXZlbC1tb2RlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbiNnZXR0aW5nLWFyb3VuZF9fZ29vZ2xlLW1hcHMtbGluayB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iXX0= */
